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语言初学 给已知公式求圆周率
公式: 圆周率=1-1/3+1/5-1/7+......+1/(4n-3)-1/(4n-1) #include<stdio.h> #include<math.h> main() ...
- csv内存流文件流
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- Web API的CPU占用100%
我用Web API做了一个网站,网站很简单,请求就是几个普通的参数,提交到服务器后,在Web API里做一下参数验证,然后去访问Redis里的TIME命令,最后把TIME命令返回的结果计算出yyyy- ...
- 通过Shell和Redis来实现集群业务中日志的实时收集分析
http://www.linuxidc.com/Linux/2013-05/83935.htm
- Altium Designer(Protel)网络连接方式Port和Net Label详解
1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系:另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建 ...
- QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
这里讨论的只是Windows平台上的实现. 在QT中绘制异形窗口,只要设定 windowFlag 为 CustomizeWindowHint,再结合setMask()就可以做出各种奇形怪状的窗口.相对 ...
- Qt on Android
Qt on Android Episode 7(翻译) http://blog.csdn.net/foruok/article/details/46323129 Android基础整理之四大组件Act ...
- 两表关联更新,用于update 回滚
create table test1 as select * from dba_objects; create table test2 as select * from dba_objects; cr ...
- HDU 5505 - BestCoder Round #60 - GT and numbers
题目链接 : http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=641&pid=1002 思路 : N有若 ...
- Linux内核数据包的发送传输
本文主要讲解了Linux内核数据包的传输流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式从内核高层面上梳理了二层数据包发送传输的流程,希望可以对大家有所帮助. ...