|
【第1 步】建立Action类
public class ValidateAction extends ActionSupport {
private static final long serialVersionUID = 1L;
//必须输入
private String msg;
//13至30
private int age;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
【第2 步】配置Action类,struts.xml
<!--验证 -->
<action name="validate" class="com.deppon.struts.action.ValidateAction">
<result name="input">/validate.jsp</result>
<result name="success">/validate.jsp</result>
</action>
【第3 步】编写验证规则配置文件
一般放到和要验证的.class文件在同一目录下,而且配置文件名要使用如下两个规则
中的一个来命名:
<ActionClassName>-validation.xml
<ActionClassName>-<ActionAliasName>-validation.xml
其中<ActionAliasName> 就是struts.xml 中<ation>的name属性值。在本例中我们使用第一种
命名规则,ValidateAction-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="msg">
<field-validator type="requiredstring">
<message>请输入信息</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">13</param>
<param name="max">30</param>
<message>
必须在13至30之间
</message>
</field-validator>
</field>
</validators>
这个文件使用了两个规则:requiredstring(必须输入)和int(确定整型范围)。关于其他更 详细的验证规则,请读者访问http://struts.apache.org/2.0.11.1/docs/validation.html来查看。
【第4 步】编写数据录入JSP页。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
求代数和
<br>
<s:form action="sum" namespace="/mystruts">
<s:textfield name="operate1" label="操作数1"></s:textfield>
<s:textfield name="operate2" label="操作数2"></s:textfield>
<s:submit value="代数和"></s:submit>
</s:form>
</body>
</html>
在上面的程序中还使用了一个styles.css来定制错误信息的风格。代码如下:
.label {font-style:italic; }
.errorLabel {font-style:italic; color:red; }
.errorMessage {font-weight:bold; color:red; }
需要在Web根目录中建立一个styles目录,并将styles.css
验证界面
|