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中的
java学习笔记 (2) —— Struts2类型转换、数据验证重要知识点的更多相关文章
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- SpringMVC学习笔记七:SpringMVC的数据验证
SpringMVC支持JSR(Java Specification Requests, Java规范提案)303-Bean Validation数据验证规范,该规范的实现者很多,其中较常用的是 Hib ...
- java学习笔记——数据类型及类型转换
数据类型分为: 1.引用类型(字符型); 2.基本数据类型(数值型); 以下为基本数据类型介绍(括号内的数字表示该类型所占据的字节数) a.整型 byte(8) short(16) int(3 ...
- struts2学习笔记(7)---数据验证之validateXxx()方法
validateXxx()方法 上一篇文章写了使用Action的validate()方法,validate()仅仅能对action的所有方法进行验证.而要实现对action中特定的方法进行验证,就须要 ...
- 【学习笔记】Struts2 类型转换
为什么需要类型转换 在基于HTTP协议的Web应用中 客户端请求的所有内容(表单中提交的内容等)都以文本编码的方式传输到服务器端但服务器端的编程语言(如Java)有着丰富的数据类型 如 int boo ...
- 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 ...
- java学习笔记(11) —— Struts2与Spring的整合
1.右键 项目名称 —— MyEclipse —— Add Spring Capabilities 2.选取 Copy checked Library contents to project fold ...
- java学习笔记 (9) —— Struts2 国际化
1.Test.java package com.i18n; import java.util.Locale; public class Test1 { public static void main( ...
- java学习笔记 (8) —— Struts2 实现上传
1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
随机推荐
- C语言文件操作解析(五)之EOF解析(转载)
C语言文件操作解析(五)之EOF解析 在C语言中,有个符号大家都应该很熟悉,那就是EOF(End of File),即文件结束符.但是很多时候对这个理解并不是很清楚,导致在写代码的时候经常出错,特 ...
- .NET MVC 插件化框架源码
本来想把源码整理了放github上,但最近一直忙,就直接在这里放出来了,还写得不太完整,里面有几个例子,插件上传也没写,只写了插件zip包解压,如果大家在使用中有什么疑问,可以加QQ群:1429391 ...
- toast组件较为完美版本
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- javascript使用正则表达式验证Email地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 开发自定义View
当开发者打算派生自己的UI组件时,首先定义一个继承View基类的子类,然后重写View类的一个或多个方法,通常可以被用户重写的方法如下:构造器:重写构造器是定制View的最基本方法,当Java代码创建 ...
- GitHub 如何基於 Node.js 和 Chromium 開發 Atom?
看到回答里, 多数都没有回答到点子上, 还有些给了非常主观的意见而没有给出实际结论和分析过程. 题主的问题有四个: 1. Github 如何基于 Node.js 和 Chromium 开发 Atom? ...
- ExpandableListView(可展开的列表组件)的说明以及其用法
ExpandableListView的用法和ListView非常像,只是其所显示的列表项应该由ExpandableListAdapter提供,下面是它的xml属性及说明: 然而,接下来是用事实说话了: ...
- 【剑指offer】面试题24:二叉搜索树的后序遍历序列
题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 思路: 递归 注意,主要就是假定数组为空时结果为fa ...
- 探求Floyd算法的动态规划本质(转)
---恢复内容开始--- Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法.从表面上粗看,Fl ...
- 回调函数的意义以及python实现
因工作需要,最近在学习使用python来解析各种文件,包括xmind,xml,excel,csv等等. 在学习python解析XML的时候看到这样一段话: 3.ElementTree(元素树) Ele ...