`
peigang
  • 浏览: 171479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2应用开发详解--16、对Action中的方法进行校验

    博客分类:
  • JAVA
阅读更多

struts2的校验可以用两种方式实现:

一、java代码实现:

以action类实现ActionSupport的方式实现代码校验,struts框架会调用重写的validate()方法对所有的action方法进行校验过滤。代码片段如下:

package test;

 

import com.opensymphony.xwork2.ActionSupport;

 

public class ValidateAction extends ActionSupport {

 private Long id;
 private String name;
 
 public Long getId() {
  return id;
 }

 public void setId(Long id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String test(){
  return "success";
 }
 
 public String execute(){
  return "success";
 }
 
 public void validate() {
  // TODO Auto-generated method stub
  if(id == null){
   this.addFieldError("id", "id不能为空");
  }
  if(name == null || name.trim().length() == 0){
   this.addFieldError("name", "name不能为空");
  }
 }

 

jsp页面片段如下:

<s:fielderror />
 <form action="/validate.action">
  <input type="text" name="id" /></br>
  <input type="text" name="name" /></br>
  <input type="submit" value="提交"/>
 </form>

 其中<s:fielderror />负责将validate()方法中的错误信息列表进行输出,这样就完成了整个验证流程。

如果仅仅只需要实现对execute()方法进行验证,那么只需要实现validateExecute()方法。框架会自动绑定execute()方法进行验证,其他方法则不进行验证。

 

二、xml配置文件实现:

xml的验证需要为action类建立对应的.xml配置文件,文件命名格式为ActionClassName-validation.xml。以前文所创建的类为例则需要建立ValidateAction-validation.xml文件。

配置文件如下:

<!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="id">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
    </field>
    <field name="name">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
    </field>
</validators>

如上配置可以完成前文中validate()方法的实现,其他代码如jsp文件和struts.xml配置则完全相同。

如需实现对action中指定方法的xml校验则需要建立ActionClassName-ActionName-validation.xml的配置文件,其中ActonName为struts.xml中的action的名称。如:

<!-- 首先配置通配符实现url制定方法调用 -->
        <action name="validate_*" class="test.ValidateAction" method="{1}">
           <result name="success">/page/hello.jsp</result>
        </action>

 

要对test()方法进行校验,校验的文件名则为:ValidateAction-validate_test-validation.xml 

对execute()方法进行校验,校验的文件名则为:ValidateAction-validate_execute-validation.xml

这样变实现了对不同action 方法绑定校验。

分享到:
评论

相关推荐

    Struts2 in action

    ### Struts2实战详解 #### 一、Struts2框架简介与MVC模式解析 **Struts2** 是一个开源的Web应用框架,基于Java语言编写...无论是对于初学者还是经验丰富的开发者来说,掌握Struts2都将对Web开发工作带来极大的帮助。

    整合Struts_Hibernate_Spring应用开发详解

    ### 整合Struts_Hibernate_Spring应用开发详解 #### J2EE应用与环境 - **J2EE应用概述** - **J2EE应用的分层模型:** Java EE(J2EE)架构通常采用多层设计模式,主要包括表现层、业务逻辑层和服务层。这种分层有...

    Struts2框架开发详解

    OGNL在Struts2中扮演了关键角色,它不仅用于视图层的数据绑定,还在类型转换中起到了重要作用,使得开发者可以方便地处理不同类型的数据。 对于Web项目中的验证,Struts2提供了一套完整的验证框架,允许开发者定义...

    struts2校验框架

    在Struts2中,可以通过配置不同的校验器来实现对各种数据类型的校验。 3. **Field Validator**:字段校验器,用于校验表单中的具体字段。每个字段校验器都有特定的类型,如`requiredstring`表示必填字段,`string...

    Struts.2权威指南--基于WebWork核心的MVC开发.0003.pdf

    《Struts.2权威指南——基于WebWork核心的MVC开发》是一本深入解析Struts.2框架的经典著作,旨在帮助开发者掌握基于WebWork核心的模型-视图-控制器(Model-View-Controller,简称MVC)架构进行高效、灵活的Java Web...

    jakarta-struts-1.2.4-src.zip_jakarta struts 1_jakarta struts-1.1

    2. **创建ActionForm**:定义表单字段并实现validate()方法进行数据校验。 3. **编写Action类**:实现业务逻辑,处理ActionForm中的数据。 4. **设计JSP页面**:使用Struts标签库创建用户界面,与ActionForm交互。 5...

    Struts2讲义-作者:吴峻申

    - Action类是Struts2中最核心的部分,负责处理具体的业务逻辑。 - 开发者需要在Action类中定义业务逻辑,并返回一个结果字符串来决定下一步的操作。 - **使用ActionSupport进行校验**: - `ActionSupport`是...

    JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版)

    ### JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版)核心知识点解析 #### 一、JavaEE概述与架构 - **JavaEE简介**:JavaEE(Java Platform, Enterprise Edition)是Java平台的企业版,提供了一套...

    struts框架及校验框架详解

    Struts框架是Java Web开发中的一个关键组件,它属于Java EE(J2EE)平台的一部分,主要用于构建MVC(Model-View-Controller)模式的应用程序。这个框架的主要目的是提高开发效率,提供更好的结构管理和控制流程,...

    struts2 Interceptor详解

    Struts2 Interceptor详解 Struts2作为一款流行的Java Web框架,其强大的功能之一就是拦截器(Interceptor)。拦截器在MVC模式中扮演着重要角色,它可以对请求进行预处理和后处理,提供了灵活的扩展机制,使得业务...

    struts2面试题

    6. **资源文件的支持**:Struts2提供了对国际化资源文件的支持,便于多语言应用的开发。 #### Struts2核心组件详解 - **StrutsPrepareAndExecuteFilter**:作为Struts2框架的核心过滤器,它负责初始化框架并处理...

    跟我学Java_Web--Struts2技术详解

    通过本文的学习,我们深入了解了Struts2的安装配置方法以及其在实际开发中的应用。Struts2作为一种成熟的MVC框架,不仅能够极大地提升开发效率,还能帮助开发者构建出高质量的Web应用。在未来的学习和工作中,掌握...

    ·Struts2配置文件介绍 超级详细

    - **Interceptor**:在`package`元素内部,可以定义拦截器或引用拦截器堆栈,拦截器是Struts2中非常重要的组件,用于在Action执行前后进行一系列的前置和后置处理操作,比如登录验证、数据校验等。 - **Result ...

    jcaptcha4struts2-demo-2.0.1.zip_DEMO_JCaptcha4Struts2.jar_jcaptc

    同时,需要在Action类中添加对应的验证码属性和验证方法,以便在用户提交表单时进行验证码的校验。 在前端视图层,Jcaptcha4Struts2会提供一个标签来生成验证码图像,并且会有一个隐藏字段用来存储验证码的服务器端...

    Struts2之Ognl详解案例TextOgnl

    因此,在实际应用中,应确保对用户输入进行严格的校验和过滤,或者使用Struts2的安全插件来防止OGNL注入。 五、总结 OGNL在Struts2中扮演着关键角色,它简化了数据绑定和对象交互。然而,开发者也需要注意其潜在的...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_2_Action详解 共43页.pptx

    - **应用场景**:在Struts2中广泛应用于表单填充、页面展示、动态属性设置等方面。 ##### 3.3 标签库 - **介绍**:Struts2提供了丰富的标签库,用于简化页面开发工作。 - **常见标签**:包括`&lt;s:textfield&gt;`、`...

    Struts入门 详解Struts

    ### Struts2框架基础知识点详解 #### 一、Struts2框架概述 - **定义**:Struts2是由Apache软件基金会支持的一个开源框架,用于JavaEE应用的开发。它是Struts1的下一代版本,采用了MVC(Model-View-Controller)架构...

    struts2 详解文档

    20. **输入校验**:可以使用XML配置进行Action级别的校验,也可以对每个方法进行细粒度校验。 21. **国际化**:Struts2支持基于XML配置的国际化,通过资源文件(如message.properties)实现不同语言的显示。 22. *...

Global site tag (gtag.js) - Google Analytics