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中的

java学习笔记 (2) —— Struts2类型转换、数据验证重要知识点的更多相关文章

  1. <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解

    MVC 3 数据验证 Model Validation 详解  再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...

  2. SpringMVC学习笔记七:SpringMVC的数据验证

    SpringMVC支持JSR(Java Specification Requests, Java规范提案)303-Bean Validation数据验证规范,该规范的实现者很多,其中较常用的是 Hib ...

  3. java学习笔记——数据类型及类型转换

    数据类型分为: 1.引用类型(字符型); 2.基本数据类型(数值型); 以下为基本数据类型介绍(括号内的数字表示该类型所占据的字节数) a.整型 byte(8)   short(16)   int(3 ...

  4. struts2学习笔记(7)---数据验证之validateXxx()方法

    validateXxx()方法 上一篇文章写了使用Action的validate()方法,validate()仅仅能对action的所有方法进行验证.而要实现对action中特定的方法进行验证,就须要 ...

  5. 【学习笔记】Struts2 类型转换

    为什么需要类型转换 在基于HTTP协议的Web应用中 客户端请求的所有内容(表单中提交的内容等)都以文本编码的方式传输到服务器端但服务器端的编程语言(如Java)有着丰富的数据类型 如 int boo ...

  6. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理

    XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlA ...

  7. java学习笔记(11) —— Struts2与Spring的整合

    1.右键 项目名称 —— MyEclipse —— Add Spring Capabilities 2.选取 Copy checked Library contents to project fold ...

  8. java学习笔记 (9) —— Struts2 国际化

    1.Test.java package com.i18n; import java.util.Locale; public class Test1 { public static void main( ...

  9. java学习笔记 (8) —— Struts2 实现上传

    1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...

随机推荐

  1. Mysql删除表名中有特殊字符的表

    由于公司业务和应用的调整,之前在Mysql中的很多表都不需要了,故需要对数据库进行整理.   刚开始,我在想:不就删除一些表吗?很好解决,写个简单的脚本就可以了.我先看了数据库中有80000多个表,很 ...

  2. 配置一个servlet程序

    <!-- 配置一个servlet程序 --> <servlet> <!-- servlet的内部名称 ,可以自定义--> <servlet-name>H ...

  3. PreparedStatement執行sql語句

    import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import org ...

  4. 转:浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案

    综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个时代决胜未来的关键因素,而基于大数据的 ...

  5. Moving Acerage

    http://zh.wikipedia.org/zh/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87

  6. LeetCode _ Copy List with Random Pointer

    A linked list is given such that each node contains an additional random pointer which could point t ...

  7. PCB Layout爬电距离、电气间隙的确定

    爬电距离的确定:首先需要确定绝缘的种类:基本绝缘:一次电路与保护地工作绝缘 ① :一次电路内部:二次电路内部工作绝缘 ② :输入部分(输入继电器之前)内部,二次电路与保护地加强绝缘:一次电路与二次电路 ...

  8. keil #pragma disable

    μVision2 控制:这条命令不能在命令行使用,只能在源文件中使用. 功能:DISABLE 指令使得编译器在函数运行期间禁止所有中断产生.DISABLE命令必须在函数的前面以#pragma 参数的形 ...

  9. 通过Linux系统Cron执行OwnCloud计划任务

    通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...

  10. rnqoj-28-合唱队形-最长上升子序列

    想当年大一的时候,一个最长上升子序列的问题使得我的罚时上升了不少....当年还是图样啊 这道题目本质就是求最长上升子序列 #include<stdio.h> #include<str ...