依赖包
-- jakarta-oro.jar:提供了一组处理文本的类,具有文本替换、过滤和分割等功能
-- commons-validator.jar:提供了一个简单的、可扩张的验证框架,包含了通用的验证方法和验证规则
基于XML配置,在WEB-INF目录下
-- validator-rules.xml:包含了一组通用的验证规则,对所有的Struts应用都适用
-- validation.xml:validator框架的第二个配置文件。这个是针对于某个具体的Struts应用,需要开发人员来创建,它可以为应用中的ActionForm配置所需要的验证规则,取代ActionForm类中以编程方式来实现验证逻辑
在struts-config.xml中配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="loginForm" type="com.cong.web.LoginForm"></form-bean> </form-beans> <action-mappings> <action path="/toLogin" name="loginForm" type="com.cong.web.LoginAction" parameter="method" scope="request"> <forward name="view" path="/WEB-INF/jsp/login.jsp" /> </action> <!-- validate="true" 开启验证 --> <action path="/login" input="/login" name="loginForm" type="com.cong.web.LoginAction" parameter="method" validate="true" scope="request"> <forward name="view" path="/WEB-INF/jsp/main.jsp" /> </action> </action-mappings> <!-- 国际化资源文件 --> <message-resources parameter="com.cong.login"></message-resources> <!-- 加入验证插件 --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml, /WEB-INF/validator/validator-login.xml" /> </plug-in> </struts-config>
LoginAction.java
public class LoginAction extends DispatchAction { public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward("view"); } public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //TODO print System.out.println("into login"); LoginForm loginForm = (LoginForm)form; System.out.println(loginForm.getUserName()); System.out.println(loginForm.getPassword()); return mapping.findForward("view"); } }
LoginForm.java
public class LoginForm extends ActionForm { private static final long serialVersionUID = 1L; private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
web.xml
<web-app xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"> <display-name>Login</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
validator-login.xml
<formset> <form name="loginForm"> <field property="userName" depends="required"> <arg0 key="login.label.userName" /> <!-- <msg name="required" key="error.userName" /> --> </field> <field property="password" depends="required,minlength"> <arg0 key="login.label.password" /> <arg1 key="${var:minlength}" resource="false" /> <!-- <msg name="required" key="error.password" /> <msg name="minlength" key="error.password.minlength" /> --> <var> <var-name>minlength</var-name> <var-value>6</var-value> </var> </field> </form> </formset>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <bean:define id="loginForm" name="loginForm" type="com.cong.web.LoginForm"></bean:define> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <html:form action="login.do?method=login"> <div><html:errors/></div> <table> <tr> <td><bean:message key="login.label.userName" /></td> <td><html:text property="userName" maxlength="10" ></html:text></td> </tr> <tr> <td><bean:message key="login.label.password" /></td> <td><html:password property="password" maxlength="10" ></html:password></td> </tr> <tr> <td colspan="2" align="right"> <input type="button" value="提交" onclick="javascript:submitForm();" /> </td> </tr> </table> </html:form> <script language="Javascript"> function submitForm() { if (validateLoginForm(document.loginForm)) { document.loginForm.submit(); } } </script> <html:javascript formName="loginForm" /> </body> </html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>main.jsp</title> </head> <body> <table> <tr> <td>userName:</td> <td><bean:write name="loginForm" property="userName" /></td> </tr> <tr> <td>password:</td> <td><bean:write name="loginForm" property="password" /></td> </tr> </table> </body> </html>
相关推荐
Struts Validator框架是Apache Struts框架的一个重要组成部分,由IBM公司提供支持,它主要用于Web应用程序中的数据验证。这个框架提供了一种结构化的方式来定义和执行客户端及服务器端的数据验证规则,确保用户输入...
Struts Validator框架是Apache Struts框架的一个重要组成部分,主要用于处理Web表单验证。它提供了一种声明式的...在`Strutsvalidator`压缩包文件中,你应该能够找到相关的示例代码,帮助你更好地理解和应用这些概念。
### Struts Validator框架详解 #### 引言 在企业级应用开发中,数据验证是确保系统稳定性和安全性的重要环节。Struts框架,作为Java Web应用的基石之一,提供了丰富的功能来构建复杂的Web应用。其中,Validator...
下面将详细介绍Struts Validator框架的关键概念、功能及其实现方式。 1. **验证框架概述** Struts Validator框架通过定义验证规则,对用户输入进行检查,防止无效或不安全的数据进入系统。它提供了XML配置文件和...
Struts Validator框架是Apache Struts框架的一个组成部分,主要用于处理Web应用程序中的数据验证。这个框架提供了一种方便的方式来定义和执行验证规则,使得开发者能够轻松地在注册或其他表单提交过程中确保用户输入...
### Struts Validator 验证框架详细讲解 #### 引言 在Java Web开发中,数据验证是确保应用程序安全性和用户体验的重要环节。Struts框架作为早期流行的MVC框架之一,提供了强大的验证机制——Struts Validator,它...
Struts Validator框架的优点在于它降低了代码的复杂度,将验证逻辑分离出来,提高了代码的可维护性和复用性。在需要处理大量用户输入并确保数据质量的场景下,如注册、登录、订单提交等,Validator框架是非常实用的...
总结,Struts Validator框架是Java Web开发中一个重要的数据验证工具,它通过配置文件和注解方式定义验证规则,提高了开发效率和代码质量。同时,其自定义验证功能使框架具有高度的灵活性,适用于各种复杂场景。通过...
Struts的Validator框架是Java Web开发中用于处理用户输入验证的一种强大的工具,它与MVC架构中的控制器层紧密结合,提供了一种便捷的方式来确保用户提交的数据符合预设的业务规则。这个框架大大简化了数据验证的过程...
Struts Validator框架是Struts框架的重要组成部分,用于实现客户端和服务器端的数据验证。自0.5版以来,Struts Validator就已集成在Struts中,起初作为开发人员包的一部分,随后其核心代码迁移到Jakarta Commons库和...
这篇教程将带你深入了解如何使用Struts的Validator框架。 一、Struts Validator框架概述 Struts Validator框架是Apache Struts项目的一部分,它是基于Apache Commons BeanUtils和Digester库构建的。其核心功能是...
这个“一个validator的验证程序.rar_struts_validator”压缩包包含了一个作者自编的小程序,旨在展示如何在Struts应用中集成和配置Validator框架。 Struts Validator的主要功能是检查用户输入的数据,确保它们符合...
Validator框架是Struts1.x的一个重要组成部分,主要用于处理客户端和服务器端的数据验证。在这个入门例子中,我们将深入理解Validator框架的基本概念、配置以及如何在实际项目中应用。 一、Validator框架简介 ...
其中,Validator框架是Struts1用于客户端和服务端表单验证的强大工具,它能显著提高数据处理的安全性和准确性。本文将深入探讨Struts1 Validator框架的核心概念、配置与实现细节。 #### 一、Struts1 Validator框架...
Validator框架是Struts的一个重要组件,主要负责处理用户输入的数据验证,确保数据的完整性和正确性。在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先...
Struts Validator 是 Apache Struts 框架的一个重要组成部分,它提供了一种方便的方式来验证用户输入数据的有效性。Struts 通过插件(Plugin)机制来集成 Validator 功能,使得开发者可以轻松地在应用中添加数据验证...
`Validator框架`是Java开发中用于数据验证的重要工具,尤其在基于Struts的Web应用程序中,它扮演着不可或缺的角色。Struts是一个流行的MVC(Model-View-Controller)框架,帮助开发者构建健壮且可维护的Java Web应用...
struts中自定义validator验证 <br>很多时候需要验证“密码”与“重复密码”是否一致,如果放在服务器端验证就浪费资源了。 如何在客户端进行验证...JS可以实现,但是struts的validator框架是否能实现呢?-见示例