`
someyuan
  • 浏览: 6731 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts1.x中的验证问题

阅读更多
首先,我们在使用STRUTS验证的时候,要让我们STRUTS里的FORM继承于org.apache.struts.validator.ValidatorForm,如下图所示:


然后,在里加如属性,方法(由于这里的方法我们自己定义,所以就不选已设置的方法了)和JSP页面(JSP页面被自动设置到WebRoot下的form里,非常好的实施了MVC架构)。

并且在我们要实施动作的JSP页面中,在<body>体里要写上这样下列代码:
<html:form action="/log"(与struts-config.xml中的PATH相对应) onsubmit="return validateLogForm(this)”(提交后返回到验证的FORM);>

<html:javascript formName="logForm" />(使用js对logForm表单验证,logForm是LogForm表单的匿称,与struts-config.xml中的<form-bean name="logForm"………>相对应。


然后在ApplicationResources.properties里从validator-rules.xml复制下列语句
# Struts Validator Error Messages
   errors.required={0} is required.
   errors.minlength={0} can not be less than {1} characters.
   errors.maxlength={0} can not be greater than {1} characters.
   errors.invalid={0} is invalid.

   errors.byte={0} must be a byte.
   errors.short={0} must be a short.
   errors.integer={0} must be an integer.
   errors.long={0} must be a long.
   errors.float={0} must be a float.
   errors.double={0} must be a double.

   errors.date={0} is not a date.
   errors.range={0} is not in the range {1} through {2}.
   errors.creditcard={0} is an invalid credit card number.
   errors.email={0} is an invalid e-mail address.

#logform 自定义    logform.username= wrong.
这些都是我们以后验证时要在弹出框中显示的语句。
Errors后的内容是要验证的规则,这些验证方法都可以在验证规则即validator-rules.xml里找到。


我们在struts-config.xml里:
<action-mappings >
<action
      attribute="logForm"
      input="/form/log.jsp"
      name="logForm"
      path="/log"
      scope="request"
      type="com.yourcompany.struts.action.LogAction"
      validate="true">
      <forward name="s" path="/form/MyJsp.jsp" />
</action>
里面必须加上validate="true"这么句代码,否则,验证机制将可能不会运行。
另外,配置文件中还须加入以下代码,表示使用插件:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>


在我们刚开始做一个STRUTS验证工程的时候,在工程的WEB-INF里是没有validation.xml的,这就要求我们自己来添加这个XML文件了。我们可以这样做:
先新建一个validation.xml,然后找到我们的struts-config.xml,然后在Design中按鼠标右键—>NEWNEW PLUGINADD,然后在plugin class里写入org.apache.struts.validator.ValidatorPlugIn,然后在set property框中的property里

复制validator-rules.xml中的一句代码:pathnames,在value里复制:/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,表明使用的插件文件,最后,在validation.xml里,我们写入下列代码:
   <?xml version="1.0" encoding="ISO-8859-1" ?>
  <!DOCTYPE form-validation (View Source for full doctype...)>
- <form-validation>
- <formset>
- <form name="logForm">所要所要验证的表单昵称
- <field property="username" depends="mask,required">对于什么属性进行验证,依赖于哪些方法
  <arg0 key="logform.username" />从ApplicationResources.properties里找寻相关的方法,可以是自己定义的方法,也可以用已有的方法
  <arg1 name="mask" key="errors.invalid" resource="true" />从ApplicationResources.properties里找寻相关的方法,resource=true表示使用资源束里定义的资源语句,使用false表明不使用资源束里的资源语句,直接使用key属性定义的值。
- <var>
  <var-name>mask</var-name>
  <var-value>pan</var-value> 验证某属性的值是否与设定值相符合。
  </var>
  </field>
  </form>
  </formset>
  </form-validation>
我们在实体类里建立了username属性,然后通过验证机制,将与我们的username设定的值不一致的结果显示其错误。(我们给定的属性的值是pan)
好,下面我们来看下我们的验证出来的结果:




以上图示表明如果username为空或错误,则通过STRUTS的验证机制来进行验证并报错。

分享到:
评论
1 楼 iRoger 2008-04-16  
我想问一下,要用validator验证的时候要在struts-config.xml文件里先配置<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
对吧,就这一点我有疑问,我的项目对每个模块都新建了配置文件,比如:struts-config-user.xml,那么plug-in我写在哪一个xml文件中才能有效配置validator,我分别在总的struts-config.xml和单独的struts-config-user.xml中都有引入plug-in但就是没用啊,服务器启动时,没有显示读取相应的validator-rule.xml以及validation.xml文件的信息。第一次用validator做验证,问的有点小白,望指导下,谢谢

相关推荐

    struts1.x和struts2.x区别

    ### Struts1.x与Struts2.x的主要区别 ...包括但不限于Action的实现方式、工作流程、数据绑定、视图技术以及验证机制,这些改进共同构成了Struts2.x相较于Struts1.x的优势,使其成为现代Web应用开发中更受欢迎的选择。

    Struts1.x常用的开发包,需要学习struts1.x朋友可以下载

    1. **MVC模式**:MVC是软件设计中的一个经典模式,Struts1.x实现了这一模式,将业务逻辑(Model)、用户界面(View)和控制流程(Controller)分离,提高了代码的可重用性和可维护性。Model处理数据,View负责显示,...

    Struts1.x的验证框架示例

    以下是对Struts1.x验证框架的详细说明: 1. **验证框架的引入** 在Struts1.x中,验证通常分为两个阶段:客户端验证和服务器端验证。客户端验证通过JavaScript在浏览器端进行,提高了用户体验,因为错误能够立即...

    struts1.x技术课程讲解.pdf

    - **手动搭建**:在 MyEclipse 中手动添加 Struts1.x 的相关依赖库,配置 web.xml 文件,并创建 struts-config.xml 文件来定义 Action 映射等配置。 - **IDE 工具支持**:利用 MyEclipse 或 Eclipse 等集成开发环境 ...

    Struts1.x系列教程(网摘-全)

    在Struts1.x中,Model代表业务逻辑,View负责数据展示,Controller处理用户请求并协调Model和View。 2. **Action类**:每个HTTP请求都对应一个Action类,这是Struts1.x的核心组件。Action类处理用户请求,执行相应...

    java Struts 1.x 框架 Web 开发

    9. **Validator框架**:Struts 1.x 的Validator框架用于数据验证,可以定义一系列规则来检查ActionForm中的属性值,确保数据的正确性。 10. **生命周期管理**:Struts 1.x 使用Servlet容器管理Bean的生命周期,对于...

    struts1.x apps 所有最新的Struts1.x项目应用

    然而,尽管Struts1.x在当时具有广泛的应用,但它也有一些限制和已知的安全问题,比如著名的XSS和CSRF漏洞。随着技术的发展,Struts2作为其后继者,引入了更多的功能和改进,例如更强大的表达式语言和拦截器机制。 ...

    Struts1.x_Project.zip

    在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x框架构建的简易订餐系统的实例。这个项目将帮助我们深入理解MVC架构以及Struts1.x的核心特性。 **MVC模式详解:** MVC模式是软件设计中的一...

    struts1.x入门教程

    在学习Struts1.x的过程中,理解MVC模式以及ActionForm和Action的作用至关重要。此外,熟练掌握配置文件的编写,能让你更有效地组织和控制应用的流程。随着对框架的深入理解和实践,你将能够构建出更加复杂和功能丰富...

    Struts1.x的登录示例

    在Struts1.x中,ActionServlet作为控制器,ActionForm对象作为模型和控制器之间的数据载体,而JSP页面作为视图。 2. **配置文件**: - **struts-config.xml**:这是Struts1.x的核心配置文件,定义了ActionMapping...

    搭建struts1.x的jar包

    在Struts 1.x中,如果需要在表单中处理文件上传,这个库是必不可少的。 搭建Struts 1.x环境的步骤通常包括以下几点: 1. 将这些jar包添加到你的项目类路径中。 2. 创建`struts-config.xml`配置文件,定义Action、...

    Struts1.x 中文帮助文档

    9. **Validator框架**:Struts1.x包含一个内置的验证框架,可以方便地验证用户输入,防止非法数据进入系统。 10. **Session和Request范围的对象管理**:Struts1.x提供了一种机制来管理请求和会话范围内的对象,避免...

    struts1.x多文件上传

    Struts1.x提供了处理多文件上传的功能,使得开发者可以方便地集成到自己的应用程序中。 在Struts1.x中实现多文件上传,主要涉及以下几个核心概念和步骤: 1. **表单设计**:首先,你需要创建一个HTML表单,包含`...

    Struts1.x_action

    8. **模型驱动**:Struts1.x还支持模型驱动开发,ActionForm可以直接引用业务对象(BO),简化数据传递和验证过程。 总的来说,Struts1.x_action这个资源包可能包含了一些预配置的Action类、ActionForm类、配置文件...

    Struts1.x在线购物车系统,Hibernate,Mysql

    Struts1.x、Hibernate 和 MySQL 是构建Web应用程序的三个关键组件,它们在电子商务系统中扮演着重要的角色。这里我们将深入探讨这些技术以及如何在在线购物车系统中整合它们。 **Struts1.x** 是一个开源的Java框架...

    Struts1.x入门与提高系列教程.pdf

    Struts 1.x 是Apache软件基金会Jakarta项目的一部分,是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架。它使用Java Servlet和JavaServer Pages技术实现,旨在简化基于Java EE的Web应用程序的开发。 本教程...

    struts1.x和mysql整合的登陆例子

    总的来说,这个例子是一个全面展示Struts1.x和MySQL集成的实践教程,涵盖了Web应用开发中的基础元素,包括用户验证、数据库操作以及错误处理。理解并掌握这些知识点对于任何想要从事Java Web开发的程序员来说都是至...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,ActionServlet通过请求参数找到对应的ActionForm。 3. Struts自动将请求参数值绑定到ActionForm的属性上,这...

    Struts1.x.rar

    在学习和使用Struts1.x框架构建电子商务应用时,我们可以从以下几个方面深入了解Struts1.x及其在购物网中的应用: 1. **Struts1.x框架介绍**:Struts1.x是MVC(Model-View-Controller)设计模式的一个实现,它将...

    struts1.x使用common-validator验证框架

    而Common-Validator是Apache Commons项目的一部分,它为Struts1.x提供了一种强大的数据验证机制。这个框架允许开发者定义表单字段的验证规则,并在用户提交表单时自动执行这些规则,从而提高应用的安全性和用户体验...

Global site tag (gtag.js) - Google Analytics