struts2控制校验validator的两种用法

    目前自己正在学习框架,发现写博客确实是一个非常好的方法,所以决定利用博客,把自己学到的知识记录下来,也方便自己学习,同时也能锻炼自己的写作能力,此文仅供参考。

       有两种方法,方法一:

        想对简单,只需在xml文件配置即可。但是xml文件名格式必须是:(对应的action-validation.xml) 放置位置,和对应的action在同样的位置下。代码如下:

<?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="user.firstname">
		<field-validator type="requiredstring">
			<message>required first name</message>
		</field-validator>
	</field>
		<field name="user.age">
		<field-validator type="required">
			<message>required age</message>
		</field-validator>
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<message>age should be between ${min} and ${max}</message>
		</field-validator>
	</field>

</validators>
 

注: user是对应action中对象的调用,代码如下
public class SaveUserAction extends ActionSupport
{
	private User user;

	public User getUser()
	{
		return user;
	}

	public void setUser(User user)
	{
		this.user = user;
	}

方法2 相对方法1来说,相对较难,需要配置两个xml文件

校验方式,是的struts2提供的visitor方法的校验,代码如下,在saveUserAction-validation.xml配置如下

注:appendPrefix和下面的message信息是同时出现的,如果 设置为true 那么提示的附加信息会加上前缀,即message中的信息。

   context 上下文,即有具体的校验文件来访问属性,即需要制定另外一个xml文件。另一个xml文件在对应要校验信息对应的bean下,名字是三部分组成,小写user对应param里面的user,如图文件代码如下

<?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="firstname">
		<field-validator type="requiredstring">
			<message>required first name</message>
		</field-validator>
	</field>
	<field name="age">
		<field-validator type="required">
			<message>required age</message>
		</field-validator>
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<message>age should be between ${min} and ${max}</message>
		</field-validator>
	</field>
</validators>

结果如下:

注:user's是输出的文件头信息,另外在allicationContext.xml中配置saveUserAction中scope为prototype,即防止在提交是,错误重复出现。每当使用action,会重新new,即在spring中配置的action中scope都用prototype.


 注:这也算是自己的学习笔记吧!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值