`

struts consersion & validation

阅读更多

这是需要的registerjsp页面(viewer) 注意到里面的包含taglib的方法。表单的onsubmit="return validate();"

这是局部类型转换器文件(RegisterAtion-conversion.properties)的的代码

全局类型转换器文件(xwork-conversion.properties)里面的key-value

struts框架拦截器拦截的类型转换失败的出错信息(RegiterAction.properties)

PointConverter.java extends StrutsTypeConverter

struts2校验框架的字段校验和非字段校验

类型转换应该是应用在表单提交的时候一些比较特殊的类型转换的时候的

toType

1、string

if(Point.class == toType) // 从客户端到服务端

{

String[] str = (String[])value;

}

getParameter(String name);

getParameterValues(String name);

// 局部变量的配置方法。。

XXXAcion-conversion.properties

key - value

converter

Unable to load configuration. - action - file:/D:/installPackage/Java/Tomcat%206.0/webapps/struts2/WEB-INF/classes/struts.xml:16:43

struts.xml文件配置错误

key -> value

被转换的类型(class) -> 用来转换该类型的Converter

xwork-conversion.properties

错误:form中的名字和Acion中的名字不匹配导致找不到,就找不到Converter了!

为了代替strtus默认给出的 FieldError信息 可以在struts.xml添加:

定义了一个国际化资源文件...

<constant name="struts.custom.i18n.resources" value="message"></constant>

// 全局的

<constant name="struts.custom.i18n.resources" value="message">

xwork.default.invalid.fieldvalue={0} error

// 局部的怎么做?(注意是类型转换错误...)

invalid.fieldvalue.age="age conversion error"

名称 局部 全局

类型转换的命名方式: XXXAcion-conversion.properties xwork-conversion.properties

硬编码校验方式: XXXAction.properties XXXX.properities

类型转换->输入校验->excute

就算类型转换失败也会进行输入校验.

硬编码校验的时候 先找局部的,若有,则不再找全局的。若没有,再找局部的。

错误:

Action的名字与资源文件的名字不同导致错误...

两种错误消息的区别。

FieldError:

AcionError:

为了不使用strtus提供的错误消息,所以可以使用theme="simple" 来消除。。。

如果一个Actioon里面有validate则一定会被执行

public String abc() throws Exception

public void validateaAbc(){

}

常用用的。。。

org.apache.struts2.static default.properties

struts2-core-2.1.8.1->struts-default.xml

com.opensymphony.xwork2.validator.validators->default.xml

Struts2同样支持客户端验证

1、form不能是simple 可以直接使用默认的

2、validate="true"

3、客户端验证时根据XXXAction-validatoin.xml来生成的。

4、最好不要使用struts2给我们提供的客户端校验

XXXAction-validation.xml first 仅当只有一个method的时候才使用,否则不提倡。

XXXAction-methodName-validation.xml then and must 提倡使用该校验方法。

子类的怎么办呢?

ParentAcion

{

test();

}

ParentAcion-validation.xml

ParentAcion-test-validation.xml

ChildAcion extends ParentAction

{

test();

}

ChildAction-validation.xml

ChildAcion-test-validation.xml

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics