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 ...
随机推荐
- OpenStack JEOS 镜像
JEOS:Just Enough Operating System 维基百科地址:http://en.wikipedia.org/wiki/Just_enough_operating_system O ...
- Android 之 AlertDialog 用户登录
1:activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- AD:想两VIA在同一plane层不同连接(两VIA接同网络),一全连接、一花孔接,实现方法
可以用room方法处理!
- C51系列RAM寄存器表
特殊功能寄存器地址表 SFR 符号 字节 地址 位地址和位名称 D7 D6 D5 D4 D3 D2 D1 D0 P0口 P0 80H P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0. ...
- Android 自定义View(button)
很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章.先总结下自定义View的步骤 ...
- 如何实现室内Wi-Fi无线终端的精准定位
如何实现室内Wi-Fi无线终端的精准定位 如何实现室内Wi-Fi无线终端的精准定位 随着商圈020的兴起,室内定位技术的也如百花争艳般不断涌现.但随着室内Wi-Fi网的架设普及,基于Wi-Fi定位技术 ...
- 【转】opencv检测运动物体的基础_特征提取
特征提取是计算机视觉和图像处理中的一个概念.它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征.特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点.连续的曲线或者连 ...
- FTP服务器上删除文件夹失败
很多人都知道:要删除FTP服务器上的文件夹时,必须确保文件夹下面没有其他文件,否则会删除失败! 可是,有些服务器考虑到安全等因素,通常会隐藏以点开始的文件名,例如“.test.txt”.于是,有的坏人 ...
- 面向对象CSS (OOCSS)
新版 OOCSS 请关注 http://www.oocss.cc/ 时下流行面向对象,那么有没有可能把样式表也面向对象一下呢,将现在的CSS(Cascading Style Sheets层叠样式表)进 ...
- 数据持久化之CoreData
再次回归博客园, 已经实属不易了, 面临这近期忙忙碌碌的项目开发, 虽然并不是完全的没有闲暇时间, 但是怎么说呢, 也有着各种的无奈与曲折, 面临这产品需求的不断变化和页面的不断更新, 对于一个程序员 ...