java学习笔记 (2) —— Struts2类型转换、数据验证重要知识点

1、*Action.conversion-properties

  如(point=com.test.Converter.PointListConverter)

  具体操作类的配置文件

2、*Action.properties

  如(invalid.fieldvalue.graduation=\u6bd5\u4e1a\u65e5\u671f\u8f93\u5165\u9519\u8bef)

  具体字段错误提示信息的配置文件

2、struts.xml 中

            <action name="register" class="com.test.action.RegisterAction">
<result name="success">/registerSuccess.jsp</result>
      //当出现错误信息时,struts会自动查找当前Action的input标签,并执行跳转
          <result name="input">/register.jsp</result>
</action>

3、struts.xml 标签说明

constant —— struts框架中需要使用哪些常量的标示说明,在类型转换部分可以用作配置全局类型转换的依据

include —— 包含的另一些配置文件

4、struts 局部类型转换错误配置方法

  a) 在对应*Action的同级目录下,创建*.properties文件

  b) 填写 invalid.fieldvalue.fieldname= 错误提示

5、struts 全局类型转换错误配置方法

  a) 在struts.xml中添加 constant 标签

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

  b) 在 src 目录下创建message.properties文件

  c) 填写xwork.default.invalid.fieldvalue=[0] error

6、native2ascii javac 字符转换为ascii码的方法

  a) cmd —— nativce2ascii 源文件.txt 转换后文件.properties

7、类型转换不成功int值会被赋予0

8、无法进行类型转换时,struts2框架会自动通过addFieldError()将错误添加进去

9、Struts2 addActionError()

  说明: Action级别的错误信息

  操作:通过this.addActionError() 添加 错误信息,jsp页面通过<s:actionerror>页签显示错误信息

10、Struts2 addFieldError()

  说明:字段级别的错误信息

  操作:通过this.addActionError() 添加 错误信息,jsp页面通过<s:fielderror>页签显示错误信息

11、Struts2 标签中的theme="simple",可以去除掉默认的<tr><td>

12、Struts2 Action 中默认执行的方法是execute()[继承自ActionSupport] ,如果

   需要给出具体方法,需要加上method="...."

13、Struts2 的检验框架

  a) 在Action的同级目录下创建 *Action-validation.xml

  b) 引入头文件信息

    

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

  c) Struts2 分为字段检验和非字段检验

    c-1: 字段检验,我要检验谁,用谁去检验 <field>

    c-2: 非字段检验 ,我用谁去检验,我去检验谁 <validator>

  d) 配置xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <validators>
//检验的字段
<field name="username">
//xwork-core —— default.xml 下查看可配置的type
// short-circuit —— 短路,如果为true,字段检验未通过时,后段代码不会执行
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>username should not null</message>
</field-validator>
</field>
</validators>

  e) 说明: 所有的message 添加到了fielderror中

14、Struts2 同样支持客户端验证

  a) 不能将主题设置为simple

   b) 将form 的 validate 改为true [onSubmit="return validate()"]

15、fieldError详解

  fielderror 错误信息存放在LinkedHashMap中

  LinkedHashMap 的key 是String 类型的,value 是ArrayList类型的

  对于Action 级别的错误信息,实际上是放置在ArrayList中的

上一篇:【Hibernate学习笔记-3】在Spring下整合Hibernate时, 关于sessionFactory的类型的说明


下一篇:Java学习笔记11