struts2提供了validate框架进行验证
例子
第一步创建ValidateAction.java
public class validate extends ActionSupport{
private String username;
private String password;
//get()和set()方法,构造方法
第二步编写验证规则配置文件
在当前包下创建ValidationAction-validation.xml文件。
该文件可以在我们下载的struts2的包里找到:路径如下:struts-2.3.15.3\apps\struts2-blank\WEB-INF\classes\example\Login-validation.xml
在Struts2中,该XML格式的校验规则配置文件的命名也有规定,需按照以下格式命名:
ActionClassName-validation.xml
或
ActionClassName-ActionName-validation.xml
其中ActionName为struts.xml中为action配置的名称,这里我们采用第一种命名规则
ValidationAction-validation.xml
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring"><!-- 必须输入 -->
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int"><!-- 必须是整数 -->
<param name="min">13</param>
<param name="max">20</param>
<message>必须是数字在13到20之间</message>
</field-validator>
</field>
<field name="password">
<field-validator type="stringlength"><!--字符串长度 -->
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>密码最少6位最多10位</message>
</field-validator>
</field>
</validators>
第三步:在struts.xml中配置Action类
<package name="formTest03" namespace="/" extends="struts-default">
<action name="validate" class = "formTest03.validate" method="execute">
<result name="success">/success.jsp</result>
<result name="input">/validate2.jsp</result>
</action>
</package>
第四步:编写JSP页面 validation.jsp
<body>
<s:form action="validate" method="post">
<s:fielderror>
<s:param>username</s:param>
<s:param>password</s:param>
<s:param>age</s:param>
</s:fielderror>
<s:textfield name="username" label="姓名"></s:textfield>
<s:textfield name="password" label="密码"></s:textfield>
<s:textfield name ="age" label="年龄"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
</body>