struts2 输入校验
初学struts2.0 大哥们帮帮忙啊 小弟先谢谢啦
struts2 输入校验 当输入错误密码或用户名后,出现的错误消息会叠加
当我第一次在输入页面什么都不填直接提交 提示信息如
getText("checkcode.null")
*验证码:
getText("username.null)
*用户名:
....
在返回一下刷新页面再次什么都不填 提示信息重复了:
getText("checkcode.null")
getText("checkcode.null")
*验证码:
getText("username.null)
getText("username.null)
*用户名:
register.jsp中的单如下:
<s:form action="register" method="post">
<s:label>带*号的为必填项 </s:label>
<s:textfield label="*验证码" name="checkcode"/>
<img src="bbs/jsp/Random.jsp"/>
<s:textfield name="username" label="*用户名"/>
<s:password name="password" label="*密 码"/>
<s:password name="checkpassword" label="*确认密码"> </s:password>
<s:radio label="性别" name="sex" list="#{0:'保密',1:'男',2:'女'}" value='1' />
<s:textfield label="*E-mail" name="email"/>
<s:textfield label="*密码提示问题" name="question"/>
<s:textfield label="*问题答案" name="answer"/>
<s:textfield label="生日" name="birthday"/>
<s:textfield label="website" name="website"/>
<s:textfield label="qq" name="im_qq"/>
<s:textfield label="msn" name="im_msn"/>
<s:textfield label="家庭住址" name="address"/>
<s:textfield label="头像" name="face"/>
<s:textarea label="个性签名" name="signature" cols="20" rows="5"> </s:textarea>
<s:textarea label="个人介绍" name="intro" cols="20" rows="5"> </s:textarea>
<s:submit value="提交"/>
<s:reset value="重置"/>
</s:form>
struts.xml配置:
<action name="register" class="register">
<result name="input">register.jsp </result>
<result name="success">/bbs/jsp/index.jsp </result>
</action>
applicationContext.xml中对应的配置: <bean id="register" class="com.bbs.struts.RegisterAction"/>
RegisterAction.java代码:什么都没做 所有的属性都加上去了 只有setter()和getter()以及一个execute()方法
其中 public String execute() throws Exception{
return ActionSupport.SUCCESS;
}
用struts2的输入验证框架验证
RegisterAction-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>
<field name="checkcode">
<field-validator type="requiredstring">
<param name="trim">true </param>
<message>getText("checkcode.null") </message>
</field-validator>
</field>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true </param>
<message>getText("username.null) </message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6 </param>
<param name="maxLength">10 </param>
<message>username should be between ${minLength} and ${maxLength} </message>
</field-validator>
</field>
......
</validators>
该文件和Register.java在同一文件夹下