一、使用Action的validate()方法进行验证
使用了struts2框架后,可以在Action类中添加public void validate()方法对数据进行验证,如下所示:
public class TestAction extends ActionSupport{
private String name;
//setter && getter methods....
public String save() throws Exception {
if(hasFieldErrors()){
return INPUT;
}
return SUCCESS;
}
public void validate() {
if
(!name.trim().equals("sunny"))
this.addFieldError("msg.name",
"请输入正确的用户名.");
}
}
输入页面form.jsp的主要内容:
<body>
<s:fielderror
key="msg.name"/>
<s:form action="test!save"
name="test">
<s:textfield
name="name"></s:textfield>
<s:submit></s:submit>
</s:form>
</body>
struts.xml的相关配置:
<action name="test" class="zz.TestAction">
<result
name="input">form.jsp</result>
<result name="success">test.jsp</result>
</action>
<action name="saveMd" class="zz.TestAction"
method="save">
<result
name="input">formMethod.jsp</result>
<result
name="success">test.jsp</result>
</action>
此时,当在form.jsp中输入的内容未通过验证时(即输入的不是sunny),则会在form.jsp中显示提示信息。
二、使用struts2的验证框架
若使用validation框架,则不需要在Action中编写validate方法。
可以为一个Action编写一个验证配置文件,这里的
Action类名为TestAction,则配置文件名为TestAction-validation.xml,即类名-validation.xml的格式,或者为一个Action类中的方法编写一个配置文件,该配置文件的命名格式为类名-Action名-validation.xml,例如为上面的save方法编写一个验证文件,则该文件名为TestAction-saveMd-validation.xml(参考struts.xml文件中的saveMd的配置),这个配置文件的格式如下:
<?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="name">
<field-validator
type="requiredstring">
<message>请输入姓名</message>
</field-validator>
</field>
</validators>
不需在页面中提供显示错误信息的标签,可以直接显示,测试文件的主要内容:
<s:form action="save" name="test">
<s:textfield
name="name" />
<s:submit />
</s:form>
若同时提供了TestAction-validation.xml和TestAction-saveMd-validation.xml配置,将首先使用前一个文件进行检测,然后再根据后一个文件进行检测,可以从页面上显示的结果中看出这点。
分享到:
相关推荐
这个validate验证框架中的actiionerror级别的错误的验证提示,并包含了如何在一个Action中处理多个业务逻辑,(struts1.x 中的DispatcheAction),例子比较简单,希望对大家学习struts有所帮助。
NULL 博文链接:https://quicker.iteye.com/blog/793141
我最近在学习struts2框架,写了个简单的struts2的validate的验证,比较简单,适合初学者!
ide:myeclipse6.0 struts1.3 主要验证字段有姓名,密码,电话,email,信用卡,日期等等。
struts1.2 validate 源代码 实现 下载,myeclipse 下struts1.2框架下validate 表单验证,简单例子,功能已经实现
Struts的验证框架Validate使用[2]
这个文件是一个eclipse工程, 导入,启动tomcat就可以访问. 简单自定义validate的例子, 简单易懂.
Struts的验证框架Validate使用
适合初学者 struts2验证框架简单示例
[浪曦原创]Struts系列 第6讲 Struts的验证框架Validate使用续二(zk001)
Struts的验证框架Validate使用[1]
在Struts验证框架中实现表单重置方法
项目作品名称: 基于Struts2+Hibernate+Spring框架的超市信息管理系统 使用JQuery datatable插件浏览从数据库查询的信息记录(不少于30条记录)。 使用JQuery dropzone插件把客户端图片上传至服务器,并把该图片...
但是这样做,不好之处就是我们可以通过人为的将开发者的验证js注掉,这样就导致验证失败,对后台安全性是一个很大的威胁,在采用struts2进行开发时,我们可以采用框架内置的校验器! 本附件为【Struts2】★☆之...
struts验证框架实例,validate框架
Struts1.3 与1.2向比验证框架部分还是有所区别的,该例子通过一个简单的Email的校验,演示如何通过Struts Validate验证框架进行在页面中生成JavaScripte脚本,进行客户端校验。下完后记得评分,资源分就会回来,还能...
[浪曦原创]Struts系列 第4讲 Struts的验证框架Validate的使用(zk001)
[浪曦原创]Struts系列 第5讲 Struts的验证框架Validate使用续一(zk001)
在Struts2中验证真的比较容易,可以在Action中直接写validate,也可以使用validate框架进行验证,这个我觉得比Struts1.x方便了很多,但是有个问题一直困扰了我,直到现在有个小程序要用到这个方面的知识,那就是...