在使用servlet开发中,表单中提交的数据到servlet后都是字符串类型,需要程序员手动进行类型转换。

但是到struts2后,基本数据类型struts2都可以转换。但是如果是自定义类型,struts2也不能自动转换。

这个时候需要程序员进行手动转换或者使用struts2提供的类型转换机制来实现。

案例:假如在页面上提交一个坐标点,如何在处理类中获取的也是坐标对象信息。

使用struts2的类型转换机制步骤:

1.编写类型转换器,该类型转换器继承StrutsTypeConverter ,由ognl调用

/*** 自定义类型转换器* @author siggy**/
public class PointConverter extends StrutsTypeConverter{/*** 从字符串转换为指定的类型* context 是ActionContext* values 是表单提交数据* toClass 要转换的类型*/@Overridepublic Object convertFromString(Map context, String[] values, Class toClass) {System.out.println("执行类型转换器");String value=values[0];//value=(2,3)Point point = new Point();point.setX(Integer.parseInt(value.substring(1, value.indexOf(","))));point.setY(Integer.parseInt(value.substring(value.indexOf(",")+1,value.length()-1)));return point;}/*** 从指定类型转换为字符串*/@Overridepublic String convertToString(Map context, Object obj) {Point point = (Point)obj;return "("+point.getX()+","+point.getY()+")";}}

2.编写类型转换器的配置文件

全局的配置文件放于src下 名称为 xwork-conversion.properties

#toClass=class converter
cn.sxt.vo.Point=cn.sxt.converter.PointConverter

转载于:https://www.cnblogs.com/Vincent-yuan/p/10976496.html

java之struts2之类型转换相关推荐

  1. (十二)struts2的类型转换

    所有的MVC框架,都属于表现层的解决方案,都需要负责收集用户请求参数,并将请求参数传给应用的控制器组件. 这时问题出现了,所有的请求参数都是字符串类型数据,因此MVC框架必须具备将这些字符串请求参数转 ...

  2. Java中的基本数据类型转换(自动、强制、提升)

    转载自 Java中的基本数据类型转换(自动.强制.提升) 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数 ...

  3. java配置struts2_[Java教程]struts2配置

    [Java教程]struts2配置 0 2017-03-14 00:00:28 一.先导入jar包 先解压个空白的项目,从里面复制jar包 二.导完jar包后,需要配置struts. 1.导入web. ...

  4. 深入了解Java开发过程中的类型转换

    Java开发过程中有一个特性需要我们注意,整型.实型(常量).字符型数据可以进行混合运算. 所以,在运算过程中,不同类型的数据会先转化为同一类型,然后进行运算. 深入了解Java开发过程中的类型转换 ...

  5. 089day(JAVA变量输入输出,类型转换,运算符的练习和概念的内涵和外延)

    172210704111-陈国佳总结<2018年1月7日>[连续089天] 标题: JAVA变量输入输出,类型转换,运算符的练习和概念的内涵和外延: 内容: A.JAVA输入输出练习: i ...

  6. java xwork_java-与休眠的Struts2 xwork类型转换

    在Struts2应用程序中转换类型的最佳方法是什么? 现在,我想为我的应用程序中的某个休眠实体创建CRUD.假设我想更改与用户关联的帐户.只要我具有所有适当的获取器/设置器,我就可以传递带有特定值的参 ...

  7. java中struts2日期_Struts2中Date日期转换的问题

    今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCan ...

  8. Struts2之类型转换

    http://blog.csdn.net/xiazdong/article/details/7229682 一.Struts2 类型转换介绍 类型转换:解析HTTP请求参数,将Http请求参数赋值给A ...

  9. Struts2 Date类型转换问题

    来源:http://blog.csdn.net/cowboy324/article/details/6704716 在Struts2中,一般的内置类型都会在由系统自动进行转换.但是Date类型好像有时 ...

  10. Java之struts2框架学习

    About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架 其全新的S ...

最新文章

  1. 商汤作价1026亿IPO,商业化汤教授身家220亿
  2. python t检验_讲讲统计学中T检验的种类
  3. 善待精力,保持体力,保持热情
  4. 为什么Node约定,回调函数的第一个参数必须是err(如果没有错误该参数就是null)?...
  5. 词法、语法与语义相关知识
  6. 基于Asterisk的VoIP开发指南(2)——Asterisk AGI程序编写指南
  7. mysql备份:一,Xtrabackup
  8. UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
  9. mysql+instr查询,mysql中使用instr进行模糊查询方法介绍
  10. 【路径规划】基于matlab RRT算法求解机器人避障路径规划问题【含Matlab源码 319期】
  11. ElasticSearch查询模板
  12. 【算法笔记题解】《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试]
  13. STM32F103C8T6+LD3320语音识别模块智能灯控
  14. 在ipad上播放flash大集合
  15. python如何让程序暂停_王者荣耀集祝福linkedin雄攻略
  16. 【区块链论文整理】SIGMOD篇(一)
  17. DDoS 攻击防御方法
  18. C++:从入门到放弃[2]变量和读入
  19. C语言系列:6、结构
  20. 软件项目管理考试大纲

热门文章

  1. 拓端tecdat|SARIMA,神经网络,RNN-LSTM,SARIMA和RNN组合方法预测COVID-19每日新增病例
  2. 拓端tecdat:已迁离北京外来人口的数据画像
  3. 7-10 统计字符出现次数 (20 point(s))
  4. matlab里substring,ADT课堂第六讲-String Functions-substring
  5. java .net 图形界面_Aspose.Words for .NET是一个无图形用户界面的.NET和JAVA Word文档的报告控件...
  6. xgboost算法详解
  7. windows10安装CUDA
  8. 【Caffe安装】import caffe时出错:can not find module skimage.io
  9. OpenCV 图像编解码操作【imencode/imdecode】使用
  10. Python实现样本类别的可视化(绘制饼图,展示各类别样本的比例)