`
duben
  • 浏览: 51652 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts验证总结

阅读更多
    数据验证用到的地方还是蛮多的,比如用户登录,数据输入等等,总结了一下struts的数据验证方法,浅显地谈了一些写法,希望用对以后用用.
    首先,在struts-config.xml文件中要写入:

<!-- ========== Message Resources Definitions =========================== -->
<message-resources parameter="xxx.xxxx.xxxx "/>     xxx.xxxx.xxxx 的部分是资源文件的路径

<!-- ========== Plug Ins Configuration ================================== -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" />
</plug-in>

这里如果是想使用多个*.xml文件的话, value部分写法如下
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml, /WEB-INF/validation1.xml , /WEB-INF/validation2.xml "


在<action-mappings>里,定义需要验证的画面对应的Action的时候要加上
validate="true"


四类方法
1.用Javascript在客户端进行验证
配置:在需要验证的JSP文件中写入
<html:form action="/XXX" onsubmit="return validateXXXX(this);">

这里的XXX 是与要进行验证的
forward name validateXXXX (this);
里面的XXXX是需要进行验证的ActionForm名

<html:javascript formName="mytestForm"/>


在validation.xml文件中写入验证代码就可以进行基本的验证了。

这种方法是在客户端进行验证,客户端可以看到JAVASCRIPT部分的全代码。明显地这种方法安全性不高.

2.使自己的ActionForm继承ValidatorForm类,在里面编写自己的方法:
public ActionErrors validate (ActionMapping mapping,HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
.......
if ( mytext.equals("aaa") ) {			//my example
	errors.add("mytext",new ActionError("mytext.error"));
}
......
return errors;
}

    此时,如果写了这个方法,就会屏蔽掉在Validation.xml中定义的验证部分,换句话说就是系统运行时,Validation.xml里对应此ActionForm的定义的错误验证部分不实行
如果不写这个方法的话,系统运行时会进行Validation.xml里对应此ActionForm的定义的错误验证部分的操作

此类方法是在服务器端进行验证,验证部分代码客户端不可见。

3.动态验证DynaValidatorForm的使用
  不需要再写对应的ActionForm,只需在struts-config.xml里把自己的ActionForm进行配置

    <form-bean      name="testForm"
  	type="org.apache.struts.validator.DynaValidatorForm">
	<form-property name="mytext" type="java.lang.String"/> 
	<form-property name="mytextarea" type="java.lang.String"/> 
	<form-property name="mydatetext" type="java.lang.String"/> 
    </form-bean>


在form-property里设置相应的项目,比如说mytext,mytextarea什么的,执行的时候会动态生成ActionForm

   再在validation.xml里写入所希望的验证代码,就可以了
JSP文件里不需要写入任何东西,验证也是在服务器端进行,验证部分代码在JSP中不可见

4.组合验证
如果使用动态验证DynaValidatorForm的话,不许编写自己的对应的ActionForm,相应的特殊验证会受到相当程度的限制。
这个时候,需要将特殊验证部分写入对应的Action,
if(mytext.equals("aaa")){			//My Example
ActionErrors errors = new ActionErrors();
errors.add("***",new ActionError("***.error"));	
saveErrors(request,errors);
return (mapping.findForward("false"));
}

就可以实现特殊验证了
2
0
分享到:
评论
1 楼 qingwengang 2009-12-01  
楼主写的真棒!!!

相关推荐

    struts1验证总结

    这篇博文"Struts1验证总结"很可能详细介绍了Struts1中关于验证的各个方面,包括配置、自定义验证逻辑以及常见问题等。 在Struts1中,验证通常通过ActionForm对象进行,该对象对应于用户界面的表单。当用户提交表单...

    struts2总结项目总结

    在本项目总结中,我们将深入探讨Struts2的核心特性、工作原理以及如何在实际项目中应用。 一、Struts2框架基础 1. 动态方法调用(Dynamic Method Invocation,DMI):Struts2允许通过URL直接调用Action类的方法,...

    struts2总结大全

    本总结将深入探讨Struts2的核心概念、关键功能和实用技术,以帮助开发者全面理解并熟练运用这一框架。 一、Servlet模板 在Struts2中,Servlet模板是一种处理请求和响应的方式。它通过拦截器链对请求进行处理,然后...

    Struts动态表单验证

    Struts动态表单验证是Java Web开发中一个关键的实践,尤其在构建MVC(Model-View-Controller)架构的应用程序时。Struts框架提供了一种有效的方法来处理用户输入并确保数据的完整性和安全性。在这个主题中,我们将...

    Struts中多种验证总结

    总结起来,Struts提供了多种验证方式,包括ActionForm验证、XML配置的Validation框架、动态验证、Tiles验证、拦截器验证、第三方验证库集成以及客户端的AJAX验证。选择合适的方式取决于项目需求和团队偏好,重要的是...

    struts验证框架的实例

    总结来说,Struts验证框架提供了一种有效的方式来管理和执行用户输入的验证,提高了应用的健壮性和用户体验。通过合理地配置和使用,我们可以确保Web应用的数据质量,防止因为无效数据导致的问题。这个实例提供了...

    struts的总结(struts1.x)

    ### Struts 1.x 总结 #### 一、Struts 框架概述 Struts 是一个基于 Java 的开源框架,它实现了 Model-View-Controller (MVC) 设计模式,帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts 1.x 版本中,其...

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

    总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...

    最新struts验证框架

    总结来说,"最新struts验证框架"即Struts2 QuickValidation,是一个强大的工具,它使得在Struts2中进行数据验证变得更加便捷。通过使用提供的注解和配置,开发者能够快速实现对用户输入的有效性检查,从而提升应用...

    关于struts实验时的临时总结

    ##### 总结1:Struts2 onsubmit 无法返回JavaScript进行验证 **问题描述**:在Struts2框架中,尝试使用`onsubmit`事件调用JavaScript进行表单验证时发现无效。 **原因分析**:`onsubmit`事件默认情况下并不会阻止...

    struts2验证框架简单示例

    在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...

    struts验证框架之例题

    总结起来,Struts验证框架通过提供灵活的XML配置和强大的验证机制,使得Java Web开发中的数据验证变得简单而高效。通过学习和实践`struts验证框架之例题`,开发者可以更好地理解和掌握如何在实际项目中运用这一框架...

    struts学习总结

    12. **Struts 2的ActionSupport类**:在Struts 2中,ActionSupport是大多数Action类的基础,它提供了预定义的方法,如validate()进行数据验证,以及提供与模型数据的绑定。 以上知识点涵盖了Struts框架的主要概念和...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    Struts1.x的验证框架示例

    总结,Struts1.x的验证框架为Java Web开发者提供了一套方便的数据验证机制,能够有效提升应用的安全性和用户体验。虽然在现代开发中,Struts1.x已经逐渐被Spring MVC等更现代的框架取代,但了解和理解其验证框架仍然...

    struts2 登陆注册 以及验证

    总结来说,Struts2提供了完善的框架和工具,使得开发登录注册功能变得容易,同时通过验证机制保证了数据的准确性和安全性。通过学习和实践这个主题,开发者可以掌握Struts2的核心概念和实际操作,提升在企业级应用...

    struts2 自定义验证程序的实现方法详解

    ### Struts2 自定义验证程序的实现方法详解 #### 一、Struts2 内建验证程序实现的分析 在探讨如何实现自定义验证程序之前,我们先来了解一下 Struts2 的内置验证机制。Struts2 提供了丰富的内置验证器(Validator...

    Struts验证框架

    总结来说,Struts验证框架简化了Web应用程序中的数据验证过程,提高了代码的可维护性和复用性。它允许开发者集中定义验证规则,降低了业务逻辑与界面展示之间的耦合,使得处理用户输入变得更加高效和规范。在实际...

Global site tag (gtag.js) - Google Analytics