首先,我们在使用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中按鼠标右键—>NEWNEW PLUGINADD,然后在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的验证机制来进行验证并报错。
分享到:
相关推荐
### Struts1.x与Struts2.x的主要区别 ...包括但不限于Action的实现方式、工作流程、数据绑定、视图技术以及验证机制,这些改进共同构成了Struts2.x相较于Struts1.x的优势,使其成为现代Web应用开发中更受欢迎的选择。
1. **MVC模式**:MVC是软件设计中的一个经典模式,Struts1.x实现了这一模式,将业务逻辑(Model)、用户界面(View)和控制流程(Controller)分离,提高了代码的可重用性和可维护性。Model处理数据,View负责显示,...
以下是对Struts1.x验证框架的详细说明: 1. **验证框架的引入** 在Struts1.x中,验证通常分为两个阶段:客户端验证和服务器端验证。客户端验证通过JavaScript在浏览器端进行,提高了用户体验,因为错误能够立即...
- **手动搭建**:在 MyEclipse 中手动添加 Struts1.x 的相关依赖库,配置 web.xml 文件,并创建 struts-config.xml 文件来定义 Action 映射等配置。 - **IDE 工具支持**:利用 MyEclipse 或 Eclipse 等集成开发环境 ...
在Struts1.x中,Model代表业务逻辑,View负责数据展示,Controller处理用户请求并协调Model和View。 2. **Action类**:每个HTTP请求都对应一个Action类,这是Struts1.x的核心组件。Action类处理用户请求,执行相应...
9. **Validator框架**:Struts 1.x 的Validator框架用于数据验证,可以定义一系列规则来检查ActionForm中的属性值,确保数据的正确性。 10. **生命周期管理**:Struts 1.x 使用Servlet容器管理Bean的生命周期,对于...
然而,尽管Struts1.x在当时具有广泛的应用,但它也有一些限制和已知的安全问题,比如著名的XSS和CSRF漏洞。随着技术的发展,Struts2作为其后继者,引入了更多的功能和改进,例如更强大的表达式语言和拦截器机制。 ...
在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x框架构建的简易订餐系统的实例。这个项目将帮助我们深入理解MVC架构以及Struts1.x的核心特性。 **MVC模式详解:** MVC模式是软件设计中的一...
在学习Struts1.x的过程中,理解MVC模式以及ActionForm和Action的作用至关重要。此外,熟练掌握配置文件的编写,能让你更有效地组织和控制应用的流程。随着对框架的深入理解和实践,你将能够构建出更加复杂和功能丰富...
在Struts1.x中,ActionServlet作为控制器,ActionForm对象作为模型和控制器之间的数据载体,而JSP页面作为视图。 2. **配置文件**: - **struts-config.xml**:这是Struts1.x的核心配置文件,定义了ActionMapping...
在Struts 1.x中,如果需要在表单中处理文件上传,这个库是必不可少的。 搭建Struts 1.x环境的步骤通常包括以下几点: 1. 将这些jar包添加到你的项目类路径中。 2. 创建`struts-config.xml`配置文件,定义Action、...
9. **Validator框架**:Struts1.x包含一个内置的验证框架,可以方便地验证用户输入,防止非法数据进入系统。 10. **Session和Request范围的对象管理**:Struts1.x提供了一种机制来管理请求和会话范围内的对象,避免...
Struts1.x提供了处理多文件上传的功能,使得开发者可以方便地集成到自己的应用程序中。 在Struts1.x中实现多文件上传,主要涉及以下几个核心概念和步骤: 1. **表单设计**:首先,你需要创建一个HTML表单,包含`...
8. **模型驱动**:Struts1.x还支持模型驱动开发,ActionForm可以直接引用业务对象(BO),简化数据传递和验证过程。 总的来说,Struts1.x_action这个资源包可能包含了一些预配置的Action类、ActionForm类、配置文件...
Struts1.x、Hibernate 和 MySQL 是构建Web应用程序的三个关键组件,它们在电子商务系统中扮演着重要的角色。这里我们将深入探讨这些技术以及如何在在线购物车系统中整合它们。 **Struts1.x** 是一个开源的Java框架...
Struts 1.x 是Apache软件基金会Jakarta项目的一部分,是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架。它使用Java Servlet和JavaServer Pages技术实现,旨在简化基于Java EE的Web应用程序的开发。 本教程...
总的来说,这个例子是一个全面展示Struts1.x和MySQL集成的实践教程,涵盖了Web应用开发中的基础元素,包括用户验证、数据库操作以及错误处理。理解并掌握这些知识点对于任何想要从事Java Web开发的程序员来说都是至...
Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,ActionServlet通过请求参数找到对应的ActionForm。 3. Struts自动将请求参数值绑定到ActionForm的属性上,这...
在学习和使用Struts1.x框架构建电子商务应用时,我们可以从以下几个方面深入了解Struts1.x及其在购物网中的应用: 1. **Struts1.x框架介绍**:Struts1.x是MVC(Model-View-Controller)设计模式的一个实现,它将...
而Common-Validator是Apache Commons项目的一部分,它为Struts1.x提供了一种强大的数据验证机制。这个框架允许开发者定义表单字段的验证规则,并在用户提交表单时自动执行这些规则,从而提高应用的安全性和用户体验...