数据校验
数据回显
1、使用struts2的标签库
<% taglib uti="/struts-tags" prefix="s" %>
2、使用struts2的标签定义输入框
<s:form action="person">
<s:textfield name="person.pname" label="姓名" />
<s:textfield name="person.page" label="年龄" />
<s:textfield name="person.birthday" label="生日" />
<s:submit value="注册" />
</s:form>
如果你觉得错误回显不好看或者不突出你可以加个标签
<s:head></s:head>
数据校验
- 分为前台校验和后台校验
- 前台校验是js校验
- 后台校验
编程式校验(使用比较少)
1、在原来的Action中覆写一个校验方法
public void validate(){
System.out.println("--proValidateAction--");
if(StringUtils.isEmpty(name)){
//添加错误信息
addFieldError("name","名字不能为空"):
}
}
2、在struts.xml文件中,设置input视图
<result name="input" >/provalidate01.jsp<result>
3、在页面中提供显示错误信息标签
<s:actionerror/>
声明式校验(推存)
创建actionName-valiaction.xml
<!--形式1-->
<field name="name" >
<field-validator type="requiredstring" >
<message><![CDATA[用户名不能为空!!!]] />
</field-validator>
</field>
<!--形式2-->
<validator type="requiredstring" >
<param name="fieldName">pass</param>
<message><![CDATA[密码不能为空@@@]]></message>
</validator>
内置校验器
Required 必填校验器,不能为空
Requiredstring 必填校验器,不能为空字符串
Int 必须是int类型
Long 必须是long类型
Date 日期校验器,你可以规定一个范围min,max
expression ognl 表达式
fieldexpression
Email 校验email
Url 校验url地址
Stringlength 校验字符串长度
Regex 正则表达式
<field name="uname">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message><![CDATA[用户名不能为空!!!]]></message>
</field-validator>
</field>
<field name="upasswd">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message><![CDATA[密码不能为空!!!]]></message>
</field-validator>
</field>
<field name="upasswd">
<field-validator type="stringlength">
<param name="trim">true</param>
<param name="minLength">6</param>
<param name="maxLength">12</param>
<message><![CDATA[密码格式不正确,密码长度必须是6~12位!!!]]></message>
</field-validator>
</field>