日期:2014-05-17  浏览次数:20716 次

struts2注册页面求一个思路
注册成功不用考虑了,比较容易实现.
如果注册失败,需要回到注册页面,并且希望保留用户之前输入的信息,还有错误信息(fielderror).
struts2配置目前是这样的.
因为页面需要从数据库读取信息,所以要先到Registrationrequest这个action中把数据读取出来,然后再forward到/register.jsp中.
这就是为什么在里面使用了好多registrationrequest.(我是新手...所以如果这种方法很2请指出...)

		<action name="Register" class="com.zimu.vote.action.RegistrationAction" method="register">
<result name="request" type="redirectAction">RegistrationRequest</result>
<result name="success" type="redirectAction">Votelist</result>
<result name="unsuccess" type="redirectAction">RegistrationRequest</result>
</action>

<action name="RegistrationRequest" class="com.zimu.vote.action.RegistrationAction" method="request">
<result name="success">/register.jsp</result>


像上面配置的一样,我会把用户的信息放到session里面,这样session得以保存,不过fielderror就丢失了(怎么能留住fielderror?)如果想留住fielderror,可以把错误信息也放到session中,不知道这样做好不好?

如果直接用forward到register.jsp中,那么之前从数据库中读取的几个列表就会消失...需不需要把列表也保存到session中,好像如果
<result name="unsuccess">/register.jsp</result>
这样写的话那几个存在request中的列表就消失了..

求大神指导..
------解决方案--------------------
可以在注册页面使用ajax请求action,校验成功后再做跳转操作
------解决方案--------------------
直接跳转,大不了再查一遍,把list带过去
------解决方案--------------------
有一个简单点的方法:

在用户递交注册信息的后,在后台处理保存失败的时候,返回之前递交的数据到页面不就行啦。这样的话,失败就可以直接跳回注册页面就OK。
后台antion用request传递到页面的话,页面用${"对象名"}获取就行啦,这样如果有值就显示,没有值就不显示~
如果用Strust传递,那么在页面用标签读取就行啦

------解决方案--------------------
用ajax,在提交之前做一个异步校验。