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. java-map-EnumMap

    在平常的项目中,enumMap是比较少用到的一种map,一般都不会使用到这种容器,那么我将从如下几个方面来阐述我对enumMap的理解 1.使用场景 在key是比较固定的情况下,使用enumMap是最 ...

  2. 『邪恶のWIFI』搭建假冒WIFI热点等女神来蹭网啊 - -。

    pic by baidu 0x 00 ╮(╯▽╰)╭ 请喊我万恶的标题党  哈哈哈哈哈 0x 01 这里正题 虚拟机(Kali)不支持内置网卡,还好我有神器,插上我的RT8187L,开始搞起 参考资料 ...

  3. d3可视化实战03:神奇的superformula

    需求驱动实现 前文讲过了D3的数据驱动机制,中间所举的例子都很简单.例如那个demo里面,绑定的数据是一个简单的数组,实现的图元也仅仅是一堆用SVG画的circle.但是现实世界中我们往往会遇到复杂的 ...

  4. Top 100 words for advanced learners.

    aberration (n.) something that differs from the norm (In 1974, Poland won the World Cup, but the suc ...

  5. Thinking in C++: 第1章 为什么C++会成功

    本文内容摘抄自C++经典书籍:<Thinking in C++>   操作概念:OOP程序像什么 我们已经知道,用C 语言编写的过程程序就是一些数据定义和函数调用.要理解这种程序的含义,程 ...

  6. Boost 和 STL 相比有哪些优势和劣势?

    1. 在设计原则上,STL和Boost大体统一因为STL和Boost基本上都是标准委员会那批人在策划.审核和维护,所以口味上是相对接近的.但是因为Boost并不在标准中,或者说是下一代标准的试验场,所 ...

  7. 2016.08.13/2/index/_d_Lucene54_0.dvm: Too many open files

    er[file_system_exception: /elk/elasticsearch/data/es_cluster/nodes/0/indices/logstash-zjzc-frontend- ...

  8. 【转】android使用File Explorer无法访问系统内部文件--不错

    原文网址:http://blog.csdn.net/yangqicong11/article/details/8747042 设备:Samsung GT-P3110 系统:Android 4.1.1 ...

  9. Jquery伪选择器学习笔记

    对于我这个半路出家的前端,使用jquery已经很长时间了,对于选择器,一直都局限在id,class,element选择器.每次写一个元素都得想一个id,一个页面写下来想id名都想的累的慌.最近手头项目 ...

  10. HDU_2054——A=B问题

    Problem Description Give you two numbers A and B, if A is equal to B, you should print "YES&quo ...