`
1028826685
  • 浏览: 938553 次
  • 性别: 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方法校验.avi`会逐步演示如何创建XML配置文件,定义验证规则,配置Action和Interceptor,以及如何在实际运行中查看和处理校验失败的情况。 通过上述步骤,我们可以...

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

    ### 基于XML配置方式实现对Action的所有方法进行输入校验 #### 一、概述 在本篇文章中,我们将详细介绍如何通过XML配置文件来实现对Struts2框架中的Action类的所有方法进行输入数据的校验。这种方法不仅提高了代码...

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

    标题中的“基于XML配置方式实现对指定action方法校验”是指在软件开发中,特别是Java Web应用程序中,通过XML配置文件来定义并执行对特定Action(控制器)方法的数据验证过程。这种验证通常是为了确保用户输入的数据...

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

    本主题聚焦于如何通过XML配置文件实现对Action类中所有方法的校验。XML配置是Struts2框架的核心组成部分,允许开发者精确地定义应用的行为。 在Struts2中,我们通常使用Struts.xml或struts-config.xml文件来配置...

    19对Action中所有方法进行输入校验.zip

    通过"19对Action中所有方法进行输入校验.avi"这个视频教程,你可能会学习到如何结合上述方法在实际项目中实现高效且安全的数据校验,从而提高系统的稳定性和用户体验。视频可能涵盖了创建验证规则、配置验证拦截器、...

    struts2 对action中的所有方法进行校验

    总的来说,Struts2提供了灵活且强大的数据校验机制,无论是在XML配置文件中定义,还是利用注解,甚至自定义校验逻辑,都能有效地保证Action中各个方法的输入数据合法,从而提高应用程序的稳定性和安全性。...

    Struts2输入校验总结

    1. **编写校验配置文件**:为每个需要校验的Action编写一个名为`actionClassName-validation.xml`的配置文件,或针对特定方法的`actionClassName-methodName-validation.xml`文件。 2. **配置文件位置**:这些配置...

    struts2输入校验深入总结

    Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别校验 Action级别校验是在Action类中定义校验逻辑,通常通过在Action类的属性上添加注解实现...

    struts2输入校验

    本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...

    struts2输入校验总结

    总结,Struts2的输入校验机制提供了手动和自动两种方式,结合配置文件和内置校验器,能够实现灵活且强大的数据校验,有效地防止了非法数据的流入,提升了系统的安全性。在实际开发中,开发者可以根据业务需求选择...

    Struts2的输入校验

    Struts2提供了强大的验证框架,支持多种验证方式,包括基于注解的验证、XML配置的验证以及编程式验证。这些验证规则可以定义在Action类中,或者单独的验证配置文件里。 1. **基于注解的验证** 使用注解是Struts2中...

    struts2中的输入校验

    - **全局校验配置文件**:全局校验配置文件(如`ActionName-validation.xml`)位于Action类同级目录下,对Action类的所有方法进行校验。每个需要校验的Action类都有自己的配置文件。 - **XML配置结构**:XML配置...

    20对action指定方法进行校验.zip

    本教程“20对action指定方法进行校验.zip”似乎关注的是如何在Struts2中对Action类中的方法进行验证,以确保输入数据的正确性和安全性。 在Struts2中,Action类的方法通常是与用户交互的入口点,每个方法对应一个...

    Struts2 输入校验

    这是最基础的校验方式,通过在Action类中定义字段和相应的校验方法来实现。例如,为一个字符串字段定义一个`@NotEmpty`注解,表示该字段不能为空。当用户提交表单时,Struts2会自动调用这些校验方法。 2. Validator...

    Struts2的输入校验实例代码

    - **步骤三:覆盖Validate方法**:在Action类中覆盖`validate`方法,这个方法用于执行业务逻辑数据的校验。例如,可以检查用户名是否为空,密码和确认密码是否匹配等。 4. **配置校验**: 配置校验是通过XML配置...

    Struts2--输入校验

    Struts2内建了一个基于XML的校验框架,允许开发者在Action类的配置文件中定义验证规则。这些规则可以指定字段的必填性、长度限制、数据类型等。例如,你可以通过以下方式定义一个用户名的非空校验规则: ```xml ...

Global site tag (gtag.js) - Google Analytics