大家好,我在做毕业项目的时候 遇到一些问题 想请教下一下 关于STRUTS 的

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:03:52
大家好,我在做毕业项目的时候 遇到一些问题 想请教下一下 关于STRUTS 的

比如我做了个 注册页面reg.jsp,用户填写一些信息之后点击提交,然后通过转发到RegAction经过一系列的验证等等,成功后跳转到success.jsp,将提交的一系列信息再显示出来,如果失败,就跳转到原来的reg.jsp页面,提示错误后,在重新填写 但是我遇到这样的问题:
1,如果我注册成功后,通过跳转到了success页面,但是浏览器的地址栏还是 regUser.htm(这是我在action-mapping里配置的名字),然后我点击刷新的话,就会弹出对话框说是要重新发送数据之类的,我觉得这个和我们在网上常见的注册是不同的,应该怎么解决?
2,就是我想在注册成功之前,检测reg.jsp提交的username这个字段,如果username在数据库中有了,返回提示并且重新填写,如果没有则继续..但返回的时候,我用的是一个 <forward name="" path="/reg.jsp"> 然后跳回注册页面,这时候表单里的内容全没了,而我们在网上经常看到的是,除了错误的表单项外,其他的填写的内容都还保留,只是出错的地方没了 ,提示需要重新输入.请问我这个问题要怎么解决啊?另外这时候如果刷新的话 页面也是要弹出一个对话框要数据重新提交

1.可以用struts的token令牌控制重复提交。http://hi.baidu.com/feiyuyitiao/blog/item/9410ecfcb878cbfcfc037fdd.html
2.注册验证,可以使用struts的验证框架。例如不能为空,字符数不能多于/少于几个。两个密码不能一样,等等。 服务器进行判断后,会返回错误,也不会清空原来的表单内容。
验证注册过没有,可以在username后增加一个<html:messages id="messages" message="true">

<bean:write name="messages"></bean:write>

</html:messages>
。然后再action里,判断是否已经存在,存在的话,把错误放在message里,然后转向原来的页面。具体在我空间里
http://hi.baidu.com/%CA%B7%CA%A5%BD%DC/blog/item/12777a03288478703912bb9d.html

注册页面是用form进行提交的,提交以后如果验证失败了,就把vo重新set进form里就可以保留历史数据了.如果不需要的可以适当进行清空处理.另外你说的那个刷新页面的问题,可以通过令牌来解决.具体上网搜令牌即可.

你要在表单里的属性加上 value=“${sessionScope.username}”,这样跳转的时候表单里面就有数据了,因为它是在一个r