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 ...
随机推荐
- 深入浅出Java 重定向和请求转发的区别
深入浅出Java 重定向和请求转发的区别 <span style="font-family:FangSong_GB2312;font-size:18px;">impor ...
- 用C++类模板实现栈结构出现的问题以及思考
C++中使用了模板来减少方法相同但是类型不一样带来的函数重载以及大量复制代码的问题.这里主要说说类模板 类模板的定义: template<TYPENAME Type> clas ...
- 文件磁盘读写类CArchive类
CArchive类的成员 数据成员 m_pDocument 指向被串行化的CDocument对象 构造函数 Carchive 创建一个Carhcive对象 Abort在不异常的情况下,关闭归档文件 C ...
- ionic中修改图标的问题
有两种修改图标的方法,一种是手动配置,另外一种是使用命令 1.手动配置 把图标icon.png复制到resources\android\icon目录下 修改根目录的config.xml文件 <p ...
- python 3.5 用户登录验证和输入三次密码锁定用户
#!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...
- android popupwindow低版本报空指针
在项目中使用Popupwindow pop=new Popupwindow();在2.3版本报 异常信息: Exception: null 堆栈信息: android.widget.PopupWind ...
- MacOS上的包管理工具
众所周知,Linux世界中存在着如apt-get.yum等强大而简单的包管理工具,而在Macos中同样存在类似的东西. 当前比较流行的主要有如下两种: 1.Homebrew(推荐):其官网地址brew ...
- Recommending music on Spotify with deep learning 采用深度学习算法为Spotify做基于内容的音乐推荐
本文参考http://blog.csdn.net/zdy0_2004/article/details/43896015译文以及原文file:///F:/%E6%9C%BA%E5%99%A8%E5%AD ...
- mongodb工具
可视化管理工具 http://www.mongovue.com/ mongodb use case http://www.mongodb.org/about/applications/ mongodb ...
- 浏览器开发 IE webkit chrome浏览器定制
FAQ:制作自己的浏览器有何意义?1.浏览器按照您的需求命名,可自定义LOGO,对您的产品或者公司都有推广作用.2.在帮助一栏的主页以及软件安装的网页链接都可以设为您网站的链接. 3.可将首页设置为您 ...