Struts2 表单验证-XML配置
1 设计一个用户注册表单
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>一点教程-struts2的表单验证</title>
</head>
<body>
<h3>XML验证验证</h3>
<%--
验证需求:
1) 全部数据不能为空
2)用户名长度4-20位之间
3)密码长度6-16位之间
4)手机格式是合法的
5)邮箱格式是合法的
--%>
<form action="demo1.action" method="post">
用户名:<input type="text" name="name"/><br/>
密码:<input type="password" name="password"/><br/>
手机:<input type="text" name="phone"/><br/>
邮箱:<input type="text" name="email"/><br/>
<input type="submit" value="注册"/>
</form>
</body>
</html>
2 编写Action
package com.yiidian.action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.yiidian.domain.User;
/**
* XML验证
* @author 一点教程(yiidian.com)
*/
public class Demo1Action extends ActionSupport implements ModelDriven<User>{
private User user = new User();
@Override
public User getModel() {
return user;
}
@Override
public String execute() throws Exception {
System.out.println("用户注册成功啦");
return SUCCESS;
}
}
3 建立表单数据验证的XML配置
在Action类同目录下建立XML文件,文件名为:Action类名-vlidation.xml
内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
<field name="name">
<!-- 指定验证器 -->
<field-validator type="requiredstring">
<message>用户名必须填写</message>
</field-validator>
</field>
<field name="password">
<!-- 指定验证器 -->
<field-validator type="requiredstring">
<message>密码必须填写</message>
</field-validator>
</field>
<field name="phone">
<!-- 指定验证器 -->
<field-validator type="requiredstring">
<message>手机必须填写</message>
</field-validator>
</field>
<field name="email">
<!-- 指定验证器 -->
<field-validator type="requiredstring">
<message>邮箱必须填写</message>
</field-validator>
</field>
</validators>
4 struts.xml配置input视图
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="base" extends="struts-default" namespace="/">
<action name="demo1" class="com.yiidian.action.Demo1Action">
<result>/succ.jsp</result>
<!-- 必须配置input视图,input是Struts2默认的失败提示页面 -->
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
5 在页面显示错误信息
<s:fielderror/>
6 运行测试
热门文章
优秀文章