Struts2注册校验

Struts2注册校验
1.	注册校验首先是一个jsp页面来访问struts.xml
<body>
		<div align="center">
			<h3>注册页面</h3>
			<form action="csdn/regin.action" method="post">
				用户名:
				<input type="text" name="uname" />
				<br /><br/>
				密码:
				<input type="text" name="upass" />
				<br /><br/>
				性别:
				<input type="radio" name="usex" checked="checked"/>男
				<input type="radio" name="usex" />女
				<br /><br/>
				年龄:
				<input type="text" name="uage" />
				<br /><br/>
				出生日期:
				<input type="text" name="ubrith" />
				<br /><br/>
				<input type="submit" value="注册" />
			</form>
			<div style="color:red; font-size:14px;">
				<!-- 错误信息的反馈地 -->
				<s:fielderror></s:fielderror>				
			</div>
		</div>
	</body>

2.	Struts.xml文件是一个转折站,代码为:

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<package name="reg" extends="struts-default" namespace="/csdn">
		<action name="regin" class="cn.csdn.hr.action.ReginAction">
			<result name="input">../regin.jsp</result>
			<result name="success">../index.jsp</result>
		</action>
	</package>
</struts>


3.	Action类中就是接受传过来的参数,并赋值,赋值之后会在执行返回的execute之前去访问校验的代码。首先action的代码为:
package cn.csdn.hr.action;

import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class ReginAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	private String uname;
	private String upass;
	private boolean usex;
	private Integer uage;
	private Date ubirth;

	public ReginAction() {
		super();
		// TODO Auto-generated constructor stub
	}

	public String getUname() {
		return uname;
	}

	public void setUname(String uname) {
		this.uname = uname;
	}

	public String getUpass() {
		return upass;
	}

	public void setUpass(String upass) {
		this.upass = upass;
	}

	public boolean isUsex() {
		return usex;
	}

	public void setUsex(boolean usex) {
		this.usex = usex;
	}

	public Integer getUage() {
		return uage;
	}

	public void setUage(Integer uage) {
		this.uage = uage;
	}

	public Date getUbirth() {
		return ubirth;
	}

	public void setUbirth(Date ubirth) {
		this.ubirth = ubirth;
	}

	public String execute() {
		System.out.println("用户名:"+uname+"密码:"+upass+"性别:"+usex+"出生日期:"+ubirth);
		System.out.println("校验成功、、、、、");
		return SUCCESS;
	}

}


4.访问校验的代码是封装好的,只要调用标签就可以了,代码为:

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator 1.0.3//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<!-- 用户校验 -->
<validators>
	<!-- 验证用户名 -->
	<field name="uname">
		<!-- 必填字符串 -->
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>必须输入名字</message>	
		<!--<message>${getText(name.requried)}</message>
		--></field-validator>
		<!-- 指定name必须匹配 的格式 -->
		<field-validator type="regex">
			<param name="expression"><![CDATA[(\w{4,25})]]></param>
			<message>您输入的用户名必须是字母和数字,且在4-25为之间</message>
		</field-validator>
	</field>
	<!-- 验证密码是否符合 -->
	<field name="upass">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>必须输入密码</message>
		</field-validator>
		<!-- 指定密码 -->
		<field-validator type="regex">
			<param name="expression"><![CDATA[(\w{4,25})]]></param>
			<message>您输入的密码必须是字母和数字,且在4-25为之间</message>
		</field-validator>
	</field>
	<!-- 性别的判断 -->
	<field name="usex">
		<field-validator type="required">
			<message>性别不能为空</message>
		</field-validator>
	</field>
	<!-- 年龄的判断 -->
	<field name="uage">
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<message>年龄必须在1-150岁之间</message>
		</field-validator>
	</field>
	<!-- 出生日期的判断 -->
	<field name="ubirth">
		<field-validator type="date">
		<!-- 指定 日期的格式 -->
			<param name="min">1900-01-01</param>
			<param name="max">2012-12-12</param>
			<message>日期必须在${min}和${max}之间</message>
		</field-validator>
	</field>
</validators>


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值