Struts2.x 学习笔记 之 类型转换器 和 错误提示修改
来源:互联网 发布:iphone视频制作软件 编辑:程序博客网 时间:2024/06/16 07:02
这块感觉学得很模糊,虽然两种类型转换器最后都可以,这次重新开个项目来测试。
先快速开发,之后详解,最后给源码
(1)struts2开发环境搭建起来。
传送门:http://blog.csdn.net/fanfan4569/article/details/52451549
(2)使用错误机制
修改错误信息显示 - 》国际化 传送门:http://blog.csdn.net/fanfan4569/article/details/52576000
若age输入格式错误,则会显示以下信息:
①局部类型转换器
1.1配置文件
需要类型转换的类对应的配置文件,文件名开头需要一致
要点说明:
1。局部类转换器仅仅对某个Action的属性起作用
2。birth=com.yyf.converters.DateConverter
当浏览器提交请求时,请求中的birth请求参数将被该类型转换器处理,即使用convertValue()方法将字符串转换成Date实例
3。却只能一次使用(对一个Action有效),过于浪费
②全局类型转换器
2.1配置文件
只需配置一个xwork-conversion.properties
源码
LoginAction.java
public class LoginAction extends ActionSupport { private String username; private String password; private int age; private Date birth; public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute() { System.out.println("age:" + age); System.out.println("birth:" + birth); if (getUsername().equals("yyf") && getPassword().equals("123")) { return SUCCESS; } return ERROR; }}
DateConverter.java
public class DateConverter extends StrutsTypeConverter { private DateFormat dateFormat; public DateConverter(){ System.out.println("DateConverter's constructor..."); dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); } @Override public Object convertFromString(Map map, String[] strings, Class aClass) { System.out.println("converFormString ..."); if(aClass == Date.class){ System.out.println("is Date.class..." ); if(strings != null && strings.length > 0){ String value = strings[0]; System.out.println(value); try { return dateFormat.parseObject(value); } catch (ParseException e) { throw new XWorkException("Could not parse date", e); } } } //若没有转换成功,则返回values return strings; } @Override public String convertToString(Map map, Object o) { System.out.println("convertToString..."); if(o instanceof Date){ Date date = (Date)o; return dateFormat.format(date); } return null; }}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="action" extends="struts-default"> <action name="login" class="com.yyf.action.LoginAction"> <result name="input">/LoginForm.jsp</result> <result name="error">/WEB-INF/content/error.jsp</result> <result name="success">/WEB-INF/content/success.jsp</result> </action> </package></struts>
0 0
- Struts2.x 学习笔记 之 类型转换器 和 错误提示修改
- Struts2.x 学习笔记 之 错误消息提示和定制
- Struts2学习笔记之自定义类型转换器
- Struts2学习笔记之自定义类型转换器
- struts2学习笔记之二、struts2类型转换器
- struts2学习笔记---------自定义类型转换器
- struts2 类型转换器笔记
- struts2 之 类型转换器
- Struts2学习笔记之自定义转换器
- Struts2中的类型转换器学习
- Struts2学习笔记--默认类型转换器(DefaultTypeConverter)使用
- Struts2.x 学习笔记 之 类型转换与复杂属性
- Struts2之自定义类型转换器
- Struts2之自定义类型转换器
- Struts2之自定义类型转换器
- Struts2之自定义类型转换器
- Struts2之自定义类型转换器
- Struts2之自定义类型转换器
- 14-TSS切换实验
- 《c和指针》(五)
- 指针和引用的区别
- ArrayList源码详解
- XML 解析详解
- Struts2.x 学习笔记 之 类型转换器 和 错误提示修改
- Xcode7下真机配置iOS10
- asmlinkage和likely
- [LeetCode-Java]2. Add Two Numbers
- lesson1: 二次学习C——解读C语言的基本结构
- List of all MySQL commands
- [算法导论]2.2节编程练习C++实现
- python学习(2)图像处理指令解析
- 开发者所需要知道的 iOS 10 SDK 新特性