关于struts2校验框架的问题

Yuboo_J 2011-02-21 02:21:59
例子如:登录,如果第一次输入不合法的信息后,第二次却再也登入不了了。就算输入正确的信息,也不能通过!并且我刷新页面时,错误信息确一直增加。
login.jsp

<s:form action="valLogin" theme="simple" namespace="/non-member" >
<table width="100%" border="0" cellpadding="0" cellspacing="1" class="inputbox">
<tr>
<td width="25%" align="center" class="inputHeader">用户名:</td>
<td width="23%" align="center" class="inputContent">
<s:textfield name="member.mnickname" size="20"/>
</td>
</tr>

<tr>
<td align="center" class="inputHeader">密    码:</td>
<td align="center" class="inputContent">
<s:password name="member.mpassword" size="20"/>
</td>
</tr>
<tr>
<td align="center" class="inputContent">
<s:reset value="重填"/>
<s:submit value="登录"/>
</td>
</tr>
<tr>
<td colspan="2">
<font color="red"><s:fielderror></s:fielderror>
</font>
</td>
</tr>
</table>
</s:form>

MemberAction-valLogin-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<!--校验规则定义的根源素-->
<validators>
<validator type='stringlength'>
<param name="fieldName">member.mnickname</param>
<param name="minLength">1</param>
<param name="maxLength">10</param>
<message>用户名称长度为${minLength}到${maxLength}之间</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">member.mnickname</param>
<message>用户名不能为空</message>
</validator>
<validator type='stringlength'>
<param name="fieldName">member.mpassword</param>
<param name="minLength">4</param>
<param name="maxLength">10</param>
<message>密码长度为${minLength}到${maxLength}之间</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">member.mpassword</param>
<message>密码不能为空</message>
</validator>
</validators>


struts.xml


<action name="valLogin" class="memberAction" method="login">
<result name="input">/non-member/login.jsp</result>
<result name="success">/member/home.jsp</result>
</action>
...全文
44 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cwmwss 2011-02-23
楼主OK了吧?
回复
redlotus_lyn 2011-02-21
<bean id="memberAction" class="com.acion.MemberAction" scope="prototype"></bean>
回复
magicway 2011-02-21
你那个bean就是 memberAction
回复
magicway 2011-02-21
那是因为你整合了spring框架,spring默认bean是单例模式,所以action会记录错误信息并且累加
你需要在配置的action上加个属性 scope="prototype"
如:<bean id="test" class="com.acion.Test" scope="prototype"></bean>
回复
Yuboo_J 2011-02-21

这是错误的效果!@
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2011-02-21 02:21
社区公告
暂无公告