struts2参数转换器用法
贴代码
struts的action中接收简单类型参数,struts2可以自动转化,但是复杂类型需要自定义转换器转换
public class ConvertAction extends ActionSupport{
private int age;
private Date date;
private List<String> interests;
private String name;
private Map<String, String> map;
//复杂类型
private List<Point> ps;
public List<Point> getPs() {
return ps;
}
public void setPs(List<Point> ps) {
this.ps = ps;
}
//特殊类型
private Point p;
public Point getP() {
return p;
}
public void setP(Point p) {
this.p = p;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public int getAge() {
return age;
}
public Date getDate() {
return date;
}
public List<String> getInterests() {
return interests;
}
public String getName() {
return name;
}
public String hello(){
System.out.println("date:"+date);
return SUCCESS;
}
public void setAge(int age) {
this.age = age;
}
public void setDate(Date date) {
this.date = date;
}
public void setInterests(List<String> interests) {
this.interests = interests;
}
public void setName(String name) {
this.name = name;
}
}
public class PointConvert extends DefaultTypeConverter{
@Override
public Object convertValue(Object value, Class toType) {
// TODO Auto-generated method stub
if (toType == Point.class) {
Point p=new Point();
String[] values=(String[]) value;
String[] pv = values[0].split(",");
p.x=Integer.parseInt(pv[0]);
p.y=Integer.parseInt(pv[1]);
return p;
}
if (toType == String.class) {
return value.toString();
}
return super.convertValue(value, toType);
}
}
注册转换器:两种方式
1.局部:与action同包 XXXAction-conversion.properties

2.全局:src根目录 xwork-conversion.properties

目录结构

具体代码在文件那,下载看。
struts2参数转换器用法的更多相关文章
- struts2参数转换器用法---2
//第二种转换器写法public class PointConvert2 extends StrutsTypeConverter{ @Override public Object convertFro ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- linux mount命令参数及用法详解
linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- 下面将详细说明useradd与usermod 的参数及用法!
下面将详细说明useradd与usermod 的参数及用法! 说到这里要另外两句,关于linux下口令相关的文件存放位置说明/usr/bin/passwd 包含 passwd 命令. /etc/pas ...
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- 为什么需要main函数,及其参数的用法
首先,需要明确main函数是什么? 答:main函数是C语言约定的入口函数 C99标准里面是这样描述的: Program startup The function called at program ...
随机推荐
- Win10系列:VC++绘制几何图形2
新建了Direct2D中的资源后,接下来初始化用于绘制图形的应用窗口.在解决方案资源管理器窗口中右键点击项目图标,在弹出的菜单栏中选中"添加", 并在"添加"的 ...
- Android 音视频深入 一 AudioRecord录音生成pcm转换为wav(附源码下载)
本篇项目地址,名字是AudioRecord录音(能暂停,将pch转换为wav),求starhttps://github.com/979451341/Audio-and-video-learning-m ...
- Java 如何抛出异常、自定义异常
Java错误与异常的基本概念: 1.java中异常均继承自Throwable,其有两个重要的直接子类error与exception. 2.java错误error,大部分是由虚拟机爆出来的错误,是程序无 ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- (C/C++学习笔记) 六. 表达式
六. 表达式 ● 表达式 表达式 expression An expression consists of a combination of operators and operands. (An o ...
- 《图解HTTP》读书笔记(转)
reference:https://www.cnblogs.com/edisonchou/p/6013450.html 目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<H ...
- Appium Python API
1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的 ...
- 爬虫系列5:scrapy动态页面爬取的另一种思路
前面有篇文章给出了爬取动态页面的一种思路,即应用Selenium+Firefox(参考<scrapy动态页面爬取>).但是selenium需要运行本地浏览器,比较耗时,不太适合大规模网页抓 ...
- Python 第一类对象
def fn(): print("我叫fn") fn() print(fn) # <function fn at 0x0000000001D12E18> fn() gn ...
- robotframework·WEB项目
date:2018527 day11 一.项目分层 1.测试数据(配置变量,如网址.用户名.密码等) 2.关键字(关键字封装,要调用直接使用关键字名即可,输入内容.点击元素.滚动滑动条等等) 3.测试 ...