依赖包
-- 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>
相关推荐
IBM 的 Struts validator框架,在官网上下载下来的,希望对大家有用。
简单的struts的validator框架代码,以及validation.xml和validator-rules.xml配置 validator对日期的验证 以及乱码问题,采用fliter解决乱码问题
struts中的 Validator框架,介绍详细
struts 的validator框架验证,入门好例!!!!
学海无涯,技术无疆!分享所得,大家共勉。赚分贴!
Struts Validator验证框架详细讲解.txt
struts validator验证框架项目,都是很常用的验证,比如用户名满足6位以上,密码与确认密码必须相同,日期格式必须为yyyy-MM-dd等等
用struts Validator框架实现注册验证 (本人花了2个星期才弄明白,其中有不少现成代码可直接用于项目,比如common包。为了体现开源精神,特意奉献。供向我这样的初学者学习。)
validator框架验证入门例子 struts1.x validator框架验证入门例子
struts中自定义validator验证 <br>很多时候需要验证“密码”与“重复密码”是否一致,如果放在服务器端验证就浪费资源了。 如何在客户端进行验证...JS可以实现,但是struts的validator框架是否能实现呢?-见示例
Struts-JSP-Hibernate框架在Java Struts Framework上进行实践,还包括Struts Validator框架,Java Server Pages(JSP)和Hibernate以连接到SQL Oracle DMBS。 另外,通过创建银行Web应用程序和应用这些技术的Forum ...
struts应用中使用了validator验证框架,它为struts提供了灵活的验证规则,而无需编程
struts中使用validator框架由简单到复杂的三个实例,附加说明。
validator of struts, 验证框架,主要包括4种方法,具体可以参考博客!
NULL 博文链接:https://finally-m.iteye.com/blog/360789
传智博客Validator框架与struts应用ppt
Struts1的validator验证框架
在struts1.x版本中使用validator验证框架实例。
Validator验证框架,STRUTS动态验证的规则与规范!