贴代码

struts的action中接收简单类型参数,struts2可以自动转化,但是复杂类型需要自定义转换器转换

  1. public class ConvertAction extends ActionSupport{
  2.  
  3. private int age;
  4. private Date date;
  5. private List<String> interests;
  6. private String name;
  7. private Map<String, String> map;
  8.  
  9. //复杂类型
  10. private List<Point> ps;
  11. public List<Point> getPs() {
  12. return ps;
  13. }
  14. public void setPs(List<Point> ps) {
  15. this.ps = ps;
  16. }
  17. //特殊类型
  18. private Point p;
  19.  
  20. public Point getP() {
  21. return p;
  22. }
  23. public void setP(Point p) {
  24. this.p = p;
  25. }
  26.  
  27. public Map<String, String> getMap() {
  28. return map;
  29. }
  30. public void setMap(Map<String, String> map) {
  31. this.map = map;
  32. }
  33. public int getAge() {
  34. return age;
  35. }
  36. public Date getDate() {
  37. return date;
  38. }
  39. public List<String> getInterests() {
  40. return interests;
  41. }
  42. public String getName() {
  43. return name;
  44. }
  45. public String hello(){
  46.  
  47. System.out.println("date:"+date);
  48. return SUCCESS;
  49. }
  50. public void setAge(int age) {
  51. this.age = age;
  52. }
  53. public void setDate(Date date) {
  54. this.date = date;
  55. }
  56. public void setInterests(List<String> interests) {
  57. this.interests = interests;
  58. }
  59.  
  60. public void setName(String name) {
  61. this.name = name;
  62. }
  63. }
  1. public class PointConvert extends DefaultTypeConverter{
  2.  
  3. @Override
  4. public Object convertValue(Object value, Class toType) {
  5. // TODO Auto-generated method stub
  6. if (toType == Point.class) {
  7. Point p=new Point();
  8. String[] values=(String[]) value;
  9. String[] pv = values[0].split(",");
  10. p.x=Integer.parseInt(pv[0]);
  11. p.y=Integer.parseInt(pv[1]);
  12. return p;
  13. }
  14. if (toType == String.class) {
  15. return value.toString();
  16. }
  17. return super.convertValue(value, toType);
  18. }
  19.  
  20. }

注册转换器:两种方式

1.局部:与action同包  XXXAction-conversion.properties

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

目录结构

具体代码在文件那,下载看。

struts2参数转换器用法的更多相关文章

  1. struts2参数转换器用法---2

    //第二种转换器写法public class PointConvert2 extends StrutsTypeConverter{ @Override public Object convertFro ...

  2. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  3. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  4. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  5. 下面将详细说明useradd与usermod 的参数及用法!

    下面将详细说明useradd与usermod 的参数及用法! 说到这里要另外两句,关于linux下口令相关的文件存放位置说明/usr/bin/passwd 包含 passwd 命令. /etc/pas ...

  6. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  7. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  8. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  9. 为什么需要main函数,及其参数的用法

    首先,需要明确main函数是什么? 答:main函数是C语言约定的入口函数 C99标准里面是这样描述的: Program startup The function called at program ...

随机推荐

  1. [POJ2761]Feed the dogs

    Problem 查询区间第k大,但保证区间不互相包含(可以相交) Solution 只需要对每个区间左端点进行排序,那它们的右端点必定单调递增,不然会出现区间包含的情况. 所以我们暴力对下一个区间加上 ...

  2. MATLAB图片折腾1

    MATLAB 把文件夹里图片转成mat文件 pt='/Users/haoyuguo/Desktop/sync1/'; ext='*.jpg'; dis=dir([pt ext]); nms={dis. ...

  3. tomcat设置默认启动项

     Tomcat设置默认启动项目 Tomcat设置默认启动项目,顾名思义,就是让可以在浏览器的地址栏中输入ip:8080,就能访问到我们的项目.具体操作如下:     1.打开tomcat的安装根目 ...

  4. (C/C++学习笔记) 八. 程序控制语句

    八. 程序控制语句 ● 基础知识 算法的基本控制结构: 顺序结构(sequential structure), 选择结构(case structure), 循环结构(loop structure) c ...

  5. Cracking The Coding Interview 1.7

    //Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set ...

  6. Java实验2

    1.给定一组字符,编程输出里面数值最大者. package experiment; import java.util.Arrays; public class ShenYue { public sta ...

  7. JavaWeb基础-Session和Cookie

    JSP状态管理 http的无状态性,服务器不会记得发送请求的浏览器是哪一个 保存用户状态的两大机制:session和cookie Cookie:是web服务器保存在客户端的一系列文本信息 作用:对特定 ...

  8. 解决At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs

    在写spring security小程序时遇到  At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug l ...

  9. drf 分页

    分页: 1.简单的分页: 每页显示条数: page_size = api_settings.PAGE_SIZE 查询的页码数: page_query_param = "page" ...

  10. delphi-search-path-vs-library-path-vs-browsing-path

    https://stackoverflow.com/questions/812042/delphi-search-path-vs-library-path-vs-browsing-path   Del ...