您的位置:首页 > 编程语言 > Java开发

struts2的表单验证 ,消息处理学习笔记

2015-03-27 20:29 716 查看
表单的验证

一.struts2 的验证有两种

1.声明式验证 :

1)对哪个Action 或 Model 的那个字段验证

2) 使用什么验证规则

3) 如果验证失败,调到哪个页面,显示什么消息

2.编程式验证

<一>

(1)先明确对哪个Action字段进行验证:例 age

(2)配置文件

E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\apps\struts2-blank\WEB-INF\classes\example下的login_validation.xml

login 改为 Action名字

(3)编写规则:参见E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\docs下的

validation.html

(4)在配置文件名中定义错误消息显示

<field name="username">

<field-validator type="int">

<param name="min">20</param>

<param name="max">50</param>

<message>age between ${min} to ${max}</message>

</field-validator>

</field>

(5)该消息能呗国际化吗?

<message key="error.int"></message>

在键值对中(i18n.properties) error.int = age between ${min} to ${max}

或者 获取国际资源的关键字方法(用getText(关键字))。

error.int = ${getText(fieldName)} between ${min} to ${max}

<二>若验证失败,则转向input的那个result,所配置的name = "input".

<三>如何显示错误消息呢?

>若是用的是非simple主题、则自动显示

>若使用的是simple ,则要用 <s:fielderror fieldname="age"/> 标签 ,或直接用EL表达式${fieldErrors.age}

<四>若是一个Action对应一个验证文件: ActionclassName-validation.properties

每个不同的Action对应不同的验证文件: ActionclassName-AliasName-validation.properties

<五> Struts2默认了一个拦截器 validation

>每个具体的验证规则都对应这一个验证器

<六> 短路验证:

<field name="username">

<field-validator type="conversion" short-circiut="true">

<message>age between ${min} to ${max}</message>

</field-validator>

<field-validator type="int">

<param name="min">20</param>

<param name="max">50</param>

<message>age between ${min} to ${max}</message>

</field-validator>

</field>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: