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 运行测试

源码下载:https://pan.baidu.com/s/1VNfNfJz8UBpl3cf4NpLRmg

热门文章

优秀文章