关于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>
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复

这是错误的效果!@

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧