45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:Struts Validator实例介绍

Struts Validator实例介绍

2016-09-05 03:07:02 来源:www.45fan.com 【

Struts Validator实例介绍

1 hello world

struts-config.xml

Struts Validator实例介绍<?xmlversion="1.0"encoding="UTF-8"?>
Struts Validator实例介绍<!DOCTYPEstruts-configPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.2//EN""http://struts.apache.org/dtds/struts-config_1_2.dtd">
Struts Validator实例介绍
Struts Validator实例介绍
<struts-config>
Struts Validator实例介绍<data-sources/>
Struts Validator实例介绍<form-beans>
Struts Validator实例介绍<form-beanname="loginForm"type="com.ergal.struts.form.LoginForm"/>
Struts Validator实例介绍</form-beans>
Struts Validator实例介绍
Struts Validator实例介绍
<global-exceptions/>
Struts Validator实例介绍<global-forwards/>
Struts Validator实例介绍<action-mappings>
Struts Validator实例介绍<actionattribute="loginForm"
Struts Validator实例介绍path="/login"
Struts Validator实例介绍input="/login.jsp"
Struts Validator实例介绍name="loginForm"
Struts Validator实例介绍scope="request"
Struts Validator实例介绍validate="true"
Struts Validator实例介绍type="com.ergal.struts.action.LoginAction">
Struts Validator实例介绍<forward
Struts Validator实例介绍
name="success"
Struts Validator实例介绍path="/haha.jsp"/>
Struts Validator实例介绍</action>
Struts Validator实例介绍</action-mappings>
Struts Validator实例介绍
Struts Validator实例介绍
<message-resourcesparameter="com.ergal.struts.ApplicationResources"/>
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">
Struts Validator实例介绍<set-property
Struts Validator实例介绍
property="pathnames"
Struts Validator实例介绍value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
Struts Validator实例介绍</plug-in>
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
</struts-config>
Struts Validator实例介绍
Struts Validator实例介绍

login.jsp

Struts Validator实例介绍Struts Validator实例介绍<%@pagelanguage="java"pageEncoding="GBK"%>
Struts Validator实例介绍Struts Validator实例介绍<%@tagliburi="/tags/struts-html"prefix="html"%>
Struts Validator实例介绍Struts Validator实例介绍<%@tagliburi="/tags/struts-bean"prefix="bean"%>
Struts Validator实例介绍
Struts Validator实例介绍
<html>
Struts Validator实例介绍<head>
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
<title>MyJSP'login.jsp'startingpage</title>
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
</head>
Struts Validator实例介绍
Struts Validator实例介绍
<body>
Struts Validator实例介绍<html:errors/>
Struts Validator实例介绍ThisismyJSPpage.<br>
Struts Validator实例介绍<html:formaction="/login"method="post">
Struts Validator实例介绍username:<html:textproperty="username"></html:text>
Struts Validator实例介绍<html:submit>submit</html:submit>
Struts Validator实例介绍</html:form>
Struts Validator实例介绍</body>
Struts Validator实例介绍</html>
Struts Validator实例介绍

LoginForm.java

Struts Validator实例介绍
Struts Validator实例介绍packagecom.ergal.struts.form;
Struts Validator实例介绍
Struts Validator实例介绍
importjavax.servlet.http.HttpServletRequest;
Struts Validator实例介绍
importorg.apache.struts.action.ActionErrors;
Struts Validator实例介绍
importorg.apache.struts.action.ActionMapping;
Struts Validator实例介绍
importorg.apache.struts.validator.ValidatorForm;
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
publicclassLoginFormextendsValidatorForm
Struts Validator实例介绍Struts Validator实例介绍
{
Struts Validator实例介绍Struts Validator实例介绍
/*
Struts Validator实例介绍*GeneratedMethods
Struts Validator实例介绍
*/

Struts Validator实例介绍privateStringusername;
Struts Validator实例介绍
Struts Validator实例介绍
publicStringgetUsername()
Struts Validator实例介绍Struts Validator实例介绍
{
Struts Validator实例介绍
returnusername;
Struts Validator实例介绍}

Struts Validator实例介绍
Struts Validator实例介绍
publicvoidsetUsername(Stringusername)
Struts Validator实例介绍Struts Validator实例介绍
{
Struts Validator实例介绍
this.username=username;
Struts Validator实例介绍}

Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
Struts Validator实例介绍
publicvoidreset(ActionMappingmapping,HttpServletRequestrequest)
Struts Validator实例介绍Struts Validator实例介绍
{
Struts Validator实例介绍
Struts Validator实例介绍}

Struts Validator实例介绍}

LoginAction.java

......

validation.xml

Struts Validator实例介绍<?xmlversion="1.0"encoding="UTF-8"?>
Struts Validator实例介绍<!DOCTYPEform-validationPUBLIC"-//ApacheSoftwareFoundation//DTDCommonsValidatorRulesConfiguration1.1.3//EN""validator_1_1_3.dtd">
Struts Validator实例介绍<form-validation>
Struts Validator实例介绍<formset>
Struts Validator实例介绍<formname="loginForm">
Struts Validator实例介绍<fieldproperty="username"depends="required">
Struts Validator实例介绍<argkey="label.username"position="0"/>
Struts Validator实例介绍</field>
Struts Validator实例介绍</form>
Struts Validator实例介绍</formset>
Struts Validator实例介绍
Struts Validator实例介绍
</form-validation>
Struts Validator实例介绍

validator-rules.xml

不变 用现成的

ApplicationResoures.properties

Struts Validator实例介绍#Resourcesforparameter'com.ergal.struts.ApplicationResources'
Struts Validator实例介绍#ProjectP/validatortest
Struts Validator实例介绍label.username=Yourname
Struts Validator实例介绍Struts Validator实例介绍errors.required=
{0}isrequired.

2 配置元素

因为后面还要学习自定义rules所以先不管validator-rules.xml

先看validattion.xml

globalconstant 结合可以定义一些全局变量

Struts Validator实例介绍<global>
Struts Validator实例介绍<constant>
Struts Validator实例介绍<constant-name>zip</constant-name>
Struts Validator实例介绍<constant-value>^d{5}d*$</constant-value>
Struts Validator实例介绍</constant>
Struts Validator实例介绍</global>

然后在var里就可以直接这么引用了

Struts Validator实例介绍<var>
Struts Validator实例介绍<var-name>mask</var-name>
Struts Validator实例介绍<var-value>${zip}</var-value>
Struts Validator实例介绍</var>

formset

有属性language 和 country

元素constant 和 form

里面也可以用constant来像前面那样来声明变量 但是这个变量是局部变量

form

form的name属性 就是名字要和struts的form的bean的定义名字一样

有元素field

field

属性 depends 对应rules property 对应表单的某个属性的名字和ActionForm的变量对应 page对应跨页表单

有元素arg msg

arg

属性name 对应depends里的rules key 对应消息文本 bundle resource是否用原始的定义文本 默认true

position 对应资源文件里的序列{*}的值

msg

属性name 对应depends里的rules key 对应消息文本 bundle resource是否用原始的定义文本 默认true

var

比较简单就是var-name 和var-value 用来设定参数值或者规则的表达式

现在添加一个来测试

首先改成

Struts Validator实例介绍<formset>
Struts Validator实例介绍<formname="loginForm">
Struts Validator实例介绍<fieldproperty="username"
Struts Validator实例介绍depends="required,integer,intRange">
Struts Validator实例介绍<argkey="errors.test"/>
Struts Validator实例介绍
Struts Validator实例介绍
</field>
Struts Validator实例介绍</form>
Struts Validator实例介绍</formset>

什么都不写就写一个arg

在validation.xml里页就只写

Struts Validator实例介绍Struts Validator实例介绍errors.required={0}isrequired.
Struts Validator实例介绍errors.test=asdasd

这样输入空的时候显示asdasd is required.

输入不合理的数字就会什么都没有 因为违反了integer和Intrang的规则 但是在这两个规则里的msg的对应的 资源并没有定义 所以会这样

然后加上默认的

Struts Validator实例介绍Struts Validator实例介绍errors.range=intmustbetween{1}and{2}
Struts Validator实例介绍errors.integer=itmustbeinteger

这时再测试

输入空显示asdasd is required.

输入字母显示it must be integer

输入其他数字显示int must between {1}and {2}

原因是没有定义var

现在加上 然后改成

Struts Validator实例介绍<formset>
Struts Validator实例介绍<formname="loginForm">
Struts Validator实例介绍<fieldproperty="username"
Struts Validator实例介绍depends="required,integer,intRange">
Struts Validator实例介绍<argkey="errors.test"/>
Struts Validator实例介绍
Struts Validator实例介绍
<argname="required"key="label.username"position="0"/>
Struts Validator实例介绍
Struts Validator实例介绍
<argname="intRange"key="${var:min}"resource="false"position="1"/>
Struts Validator实例介绍<argname="intRange"key="${var:max}"resource="false"position="2"/>
Struts Validator实例介绍<var>
Struts Validator实例介绍<var-name>min</var-name>
Struts Validator实例介绍<var-value>10</var-value>
Struts Validator实例介绍</var>
Struts Validator实例介绍<var>
Struts Validator实例介绍<var-name>max</var-name>
Struts Validator实例介绍<var-value>20</var-value>
Struts Validator实例介绍</var>
Struts Validator实例介绍
Struts Validator实例介绍
</field>
Struts Validator实例介绍</form>
Struts Validator实例介绍</formset>

对应的资源文件为

Struts Validator实例介绍label.username=Yourname
Struts Validator实例介绍Struts Validator实例介绍errors.required=
{0}isrequired.
Struts Validator实例介绍

本文地址:http://www.45fan.com/a/question/72417.html
Tags: 实例 Validator Struts
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部