`
zengbo0710
  • 浏览: 414590 次
社区版块
存档分类
最新评论

使用struts2表单数据校验功能

阅读更多
上篇文章《使用struts2实现crud操作》中并未涉及数据有效性的验证,struts2也提供了一套验证框架,下面我们就体验一下struts的表单数据校验功能。
      struts2校验框架的使用,并不需要在struts配置文件中配置,有点ror中约定替代配置的味道。还是使用上节的例子,TestAction在struts中的配置文件如下:
<package name="struts_crud" extends="struts-default" namespace="/test">
        
<action name="List" class="com.yangqiang.strutsdemo.web.TestAction" method="list">
            
<result>list.jsp</result>
        
</action>
        
<action name="Edit" class="com.yangqiang.strutsdemo.web.TestAction" method="load">
            
<result>edit.jsp</result>
        
</action>
        
<action name="Store" class="com.yangqiang.strutsdemo.web.TestAction" method="store">
               
<result name="input" type="dispatcher">edit.jsp</result>
            
<result type="redirect">List.action</result>
        
</action>
        
<action name="Remove" class="com.yangqiang.strutsdemo.web.TestAction" method="remove">
            
<result type="redirect">List.action</result>
        
</action>
    
</package>

        首先需要注意的是,数据校验的文件也必须和该Action的存放位置一致,即放在”com.yangqiang.strutsdemo.web“下,xml的命名规则如下 Action类名-validation.xml(例如:TestAction-validation.xml),如果只是对某个action的数据校验,那么命名规则即为:Action类名-别名-validation.xml (例如:TestAction-Store-validation.xml)即调用Store方法时进行数据检验[注意,这里使用action别名命名数据校验配置文件非常有用,我在系统中就只是使用了TestAction-Store-validation.xml,在这种情况下我只给Store action配置了”input“ result。如果使用TestAction-validation.xml,使用上面的struts.xml,打开调用List,Edit,Remove这三个action的页面时,就会报“没有定义input  result”的错误]
         其次,看看
TestAction-Store-validation.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC 
          "-//OpenSymphony Group//XWork Validator 1.0//EN" 
          "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"
>          
<validators>
    
<field name ="test.name" >
        
<field-validator type ="requiredstring">
            
<message key = "test.name"/>
        
</field-validator>
    
</field >
        
<field name="test.name">
        
<field-validator type="stringlength">
            
<param name="maxLength">100</param>
            
<param name="minLength">5</param>
            
<param name="trim">true</param>
            
<message>必须5-100之内的字符长度</message>
        
</field-validator>
    
</field>
    
<field name ="test.author" >
        
<field-validator type ="requiredstring">
            
<message> 作者不能为空! </message>
        
</field-validator>
    
</field >
</validators > 
       struts已经提供了很多校验器,大家可以查查资料看看。
       上面的校验配置文件使用了资源文件,调用使用key。资源文件也使用规则命名,action类名_locale信息.properties(例如:TestAction_zh_CN.properties)
test.name=书名不能为空!
test.author
=作者不能为空!
Constant.isRequired
= 不能为空!

使用native2ascii -encoding utf-8 Test_cn.properties Test_zh_CN.properties命令进行编码转换
 
 

分享到:
评论
3 楼 congpeixue 2008-03-02  
wldandan 2007-06-12
是不是你没用事物控制,只是提交了部分数据.
2 楼 wmj2003 2007-10-01  
你的action是采用的modeldriven模式吗?
1 楼 wldandan 2007-06-12  
楼主,问问
  定义了验证框架(服务器端验证)后,错误信息在页面上提示出来了,
但数据还是被传到服务器端进行了修改,这是怎么回事!

相关推荐

    struts2的数据校验

    在Struts2中,数据校验是一项至关重要的功能,它确保了用户提交的数据符合预定义的规则和格式,从而提高应用的安全性和数据质量。下面我们将详细探讨Struts2中的数据校验机制。 首先,数据校验是Web应用开发中的...

    struts2 简单数据校验

    在Struts2中,数据校验是一个重要的功能,它确保用户输入的数据符合预设的规范,从而保证系统的稳定性和安全性。这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 ...

    Struts2简单数据校验源码 20120417

    本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...

    Struts2 校验器

    总之,Struts2的校验器是其强大功能的一部分,它帮助开发者轻松地管理和控制用户输入,确保数据的准确性和安全性。理解并熟练使用Struts2的验证机制对于开发高质量的Web应用至关重要。通过阅读给出的博客文章,你将...

    struts2笔记之校验表单信息

    总结来说,Struts2的表单校验机制提供了多种灵活的方式,开发者可以根据实际需求选择适合的校验策略,确保用户输入的数据准确无误,从而提高应用的安全性和稳定性。无论是使用XML配置文件、注解还是自定义校验方法,...

    Struts2数据校验与国际化

    在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及如何通过国际化功能提供多种语言的用户体验。 首先,数据校验是任何Web应用程序中的关键环节,它...

    Struts2的输入校验

    Struts2是一个流行的Java web框架,它为开发者提供了丰富的功能,包括输入校验。输入校验是确保应用程序安全性和数据完整性的关键环节,Struts2为此提供了强大的支持。以下是关于Struts2输入校验的详细解释: 首先...

    struts2数据校验

    通过Struts2的数据校验功能,开发者可以确保系统接收的数据符合预期,从而提高系统的健壮性和用户体验。正确配置和使用数据校验规则,对于构建高质量的Web应用程序至关重要。在实际项目中,开发者可以根据具体需求...

    Struts2中的validation_多国语言版 国际化i18n+struts2数据校验.zip

    首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中定义校验规则或使用XML配置文件。当用户提交表单时,框架会自动...

    使用struts2进行输入校验

    在Struts2中,输入校验是一个至关重要的部分,它确保了用户从客户端提交的数据符合预设的业务规则,从而避免了无效或不合法数据进入系统。本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:...

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

    在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...

    struts2-login校验.rar

    总的来说,"struts2-login校验.rar"中的内容展示了如何使用Struts2框架实现用户登录功能,包括Action配置、拦截器使用、登录验证、页面跳转等核心概念,同时涉及到Tomcat服务器的部署和运行。这是一个基础但重要的...

    struts2校验数据

    从Struts2.1开始,也可以使用注解来实现数据校验。在Action类的属性上添加注解,如`@NotEmpty`、`@Size`等,可以简化配置。例如: ```java public class MyAction { @NotEmpty(message = "用户名不能为空") @...

    Struts2输入校验总结

    6. **表单提交与显示错误**:在JSP页面中,使用Struts2标签库如`&lt;s:form&gt;`和`&lt;s:submit&gt;`创建表单,并通过`action`属性指定验证的Action。如果验证失败,Struts2会自动显示错误消息。例如: ```jsp ``` ...

    struts2的自定义校验器例子

    本示例将详细介绍如何在Struts2中创建并使用自定义校验器。 在Struts2中,数据验证分为两种类型:客户端验证和服务器端验证。客户端验证通常通过JavaScript在用户浏览器中进行,而服务器端验证则在服务器上执行,...

    struts2输入校验深入总结

    在Struts2中,输入校验主要用于验证用户通过表单提交的数据,防止无效或恶意数据进入系统。Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    Struts2 part6:数据校验

    这篇博客“Struts2 part6:数据校验”可能详细介绍了如何在Struts2中实现对用户提交的数据进行验证。 Struts2的数据校验分为两个主要部分:客户端校验和服务器端校验。客户端校验通常使用JavaScript或者HTML5的表单...

Global site tag (gtag.js) - Google Analytics