`
1028826685
  • 浏览: 922230 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

基于XML配置方式对指定action方法实现输入校验

阅读更多
知识点:


当校验文件的取名为ActionClassName-validation.xml时,会对 action中的所有处理方法实施输入验证。如果你只需要对action中的某个action方法实施校验,那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml,其中ActionName为struts.xml中action的名称。例如:在实际应用中,常有以下配置:
<action name="user_*" class="cn.itcast.action.UserAction" method="{1}“ >
<result name="success">/WEB-INF/page/message.jsp</result>
<result name="input">/WEB-INF/page/addUser.jsp</result>
</action>
UserAction中有以下两个处理方法:
public String add() throws Exception{
   ....
}
public String update() throws Exception{
   ....
}
要对add()方法实施验证,校验文件的取名为: UserAction-user_add-validation.xml
要对update()方法实施验证,校验文件的取名为: UserAction-user_update-validation.xml



照样实现步骤 :

第一步:编写验证配置文件命名为:
XMLValidate-validatexml_add-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<validators>
<!-- action的属性--username属性名 -->
    <field name="username">
<!-- requiredstring有一个类与其对应 -->
        <field-validator type="requiredstring"> 
<!-- requiredstring有一个类与其对应的trim属性注入值 -->     
            <param name="trim">true</param>
<!--message发生错误时的消息 -->     
            <message>用户名不能为空!</message>
        </field-validator>
    </field>
</validators>


第三步:编写action名称:XMLValidate
注意:这里是用xml配置来验证控件但也必须继承ActionSupport类


public class XMLValidate extends ActionSupport{

private String username;
private String message;

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
public String save()
{
message="save";
return "message";
}
public String add()
{
message="add";
return "message";
}
}

第四步:配置struts.xml文件

<action name="validatexml_*" class="com.liyong.XMLValidate.XMLValidate" method="{1}">
        <!-- 下面的input视图是当存在验证错误或提交参数是类型转换出错 -->
        <result name="input">/index4.jsp</result>
        <result name="message">/WEB-INF/page/message.jsp</result>
        </action>

第五步: 编写提交表单index4.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>输入校验</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
  </head>
  <body>
<!-- 以下标签是用来输出错误信息 -->
   <s:fielderror/>
message:${message }
   <form action="${pageContext.request.contextPath}/person/validatexml_add.action" method="post">
   用户名:<input type="text" name="username"/>不能为空<br/>
   <input type="submit" value="提 交"/></form>
  </body>
</html>

第六步:编写message.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>结果</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
  </head>
 
  <body>
<!--取出message属性值-->
    ${message}
  </body>
</html>

第七步:部署

注意:这里可从配置的*.xml文件看出
XMLValidate-validatexml_add-validation.xml这里我们只对add方法进行校验
当提交action路径该为:save
   <form action="${pageContext.request.contextPath}/person/validatexml_save.action" method="post">
其不对add方法进行校验

分享到:
评论

相关推荐

    23基于XML配置方式实现对指定action方法校验.zip

    23基于XML配置方式实现对指定action方法校验.zip

    基于XML配置方式实现对action的所有方法进行输入校验

    该文档详细描述了如何基于XML文档配置,实现对action里面的所有方法的校验。本人亲自总结。

    22基于XML配置方式实现对action的所有方法进行校验.zip

    22基于XML配置方式实现对action的所有方法进行校验.zip

    基于XML配置方式实现对指定action方法校验.rar

    NULL 博文链接:https://llxhna.iteye.com/blog/1067851

    struts2 详解文档

    基于XML配置方式实现对指定action方法校验 配置国际化全局资源文件、输出国际化信息 输出带有占位符的国际化信息 配置包范围国际化资源文件 配置Action范围国际化资源文件 ognl表达式 Struts 2常用标签解说 ...

    struts2官方例子7-表单验证 xml形式的验证

    struts2官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证

    struts2的学习笔记+测试源代码

    基于XML配置实现对action中的指定方法进行输入校验 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    java程序员必读

    内容包括:自定义类型转换器,文件上传,自定义拦截器,基于XML配置方式实现对action的所有方法进行输入校验,标签防止重复提交等等功能的介绍和详解

    struts2文件上传,与struts2-xml校验

    struts2文件校验可通过xml配对action的名称去校验属性的值。例如UploadAction.java中有一个book的属性。那么我可以定义一个UploadAction-validation.xml去校验这个book属性的内容。 xml的名称是个固定写法,前面是你...

    Struts 自定义 字符串长度校验

    这个一个简单的输入校验工程,通过 struts 的 校验文件 ActionName-validation.xml 文件 和 扩展的 校验类 CheckStringLength 进行字符串长度校验。工程使用 MyEclipse 8.5 编译,可以正常运行。

    struts2讲义_吴峻申

    8.2 利用配置文件进行输入校验方法说明 157 8.2.1 Struts2字段校验的配置文件形式 158 8.2.2 Struts2非字段校验的配置文件形式 161 8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 ...

    谈谈你对Struts的理解。

    要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面...

    Struts2入门教程(全新完整版)

    2.基于XML配置形式的校验 53 九、文件上传下载(了解) 55 1. 上传实例 55 2.下载实例 57 十、类型转换 57 1.基于Action的直接属性转换 57 2.基于Action的间接属性vo转换 59 十一、注解配置 59 十二、总结 本教程对...

    java命名规范 开发规范

    d. 开发Service接口和Service接口实现,并在Action中通过set方法注入该Service; 接口文件:UserService 接口实现:UserServiceImpl 注入Service e. 开发DAO,DAO继承com.hikvision.xxx.HibernateBaseDAO; 示例 f...

    struts2-login校验.rar

    用tomcat服务器,通过struts.xml写的action来操作网页之间的重定向和对login数据的校验。(分为admin和user的login网页)

    低清版 大型门户网站是这样炼成的.pdf

    6.3.2 基于xml方式的事务管理配置 396 6.3.3 基于annotation方式的事务管理配置 400 6.4 “桃园三结义”——ssh 2组合开发框架始成 404 6.4.1 spring 2.5集成orm中间件hibernate 3.2 404 6.4.2 spring 2.5集成...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...

    使用AJAX完成用户名是否存在异步校验

    * User.hbm.xml * 配置到spring中. 5.编写DAO * 继承HibernateDaoSupport * 在配置中注入sessionFactory 6.编写Service: * 注入UserDao * 事务管理: 核心代码实现: function checkUsername(){ // 获得文件框值: ...

Global site tag (gtag.js) - Google Analytics