java之struts2之类型转换
2024-10-20 05:44:23
在使用servlet开发中,表单中提交的数据到servlet后都是字符串类型,需要程序员手动进行类型转换。
但是到struts2后,基本数据类型struts2都可以转换。但是如果是自定义类型,struts2也不能自动转换。
这个时候需要程序员进行手动转换或者使用struts2提供的类型转换机制来实现。
案例:假如在页面上提交一个坐标点,如何在处理类中获取的也是坐标对象信息。
使用struts2的类型转换机制步骤:
1.编写类型转换器,该类型转换器继承StrutsTypeConverter ,由ognl调用
/**
* 自定义类型转换器
* @author siggy
*
*/
public class PointConverter extends StrutsTypeConverter{
/**
* 从字符串转换为指定的类型
* context 是ActionContext
* values 是表单提交数据
* toClass 要转换的类型
*/
@Override
public 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;
}
/**
* 从指定类型转换为字符串
*/
@Override
public 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
最新文章
- js 字符串操作函数
- MongoDB聚合运算之mapReduce函数的使用(11)
- lua table序列化和反序列化
- ConvertFrom-String 命令研究
- js&;jquery验证邮箱和手机号是否正确范例
- OpenGL超级宝典第5版&;&;glProvokingVertex
- Java中static作用及用法详解(转)
- Win手机安卓程序初体验
- static在C和C++中的用法和区别
- Android开发之查看应用包名package和入口activity名称的方法
- 【NOIP2014】DAY2题解+代码
- .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
- codevs 1006 等差数列
- pig代码格式上小注意
- uc浏览器视频缓存合并工具
- visual studio 插件
- python shlex 模块
- 【Android开发】之MediaPlayer的错误分析
- STM32 DMA简述
- 算法笔记_156:算法提高 6-17复数四则运算(Java)
热门文章
- tomcat9源码导入idea
- 第07组 Beta冲刺(4/5)
- 搭建EOS全节点并接入主网
- 执行buildman --fetch-arch arm提示";urllib2.URLError: <;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>;";如何处理?
- Android adb临时关闭Selinux
- 2-4 【接口Interface Flex布局】让顶部导航滚动
- Linux 服务器CPU占用率100%,使用率高解决方案
- UIView的intrinsicContentSize方法,在按钮中重写
- [LeetCode] 504. Base 7 基数七
- dubbo问题集合