struts2类型转换深入总结

总结:struts2的类型转换,例如jsp界面中定义了出生日期birthday,在action处理类中定义了Date类型的属性birthday。而我们以前使用request.getParameter()方法从界面上获取的值都是字符串类型的。在界面点击提交之后,struts2从界面上获取了birthday的值之后发现在action中birthday被定义为Date类型的,那么struts2就试着把得到的值转换成Date类型的然后赋给action类里的这个属性。当它试图没有转换成功之后就会报错(例如你在界面上birthday那个框里输入了aaa,它根本不可能把aaa转换成Date类型的),下面是一个错误示例:(见附件图例),但是即使没有转换成功,这个值依然会赋给action里birthday这个属性,在结果页面上从action的birthday属性上取值依然会取到aaa


下面讲解坐标属性的类型转换(界面上有一个point输入框,action类里有一个Point point属性,这个属性是引用类型的,Point类里有x和y两个int型的属性,想要例如在界面上输入5,2然后分别把5和2赋给x和y):


重点查看附件类型转换示例(主要是以坐标点属性为示例):

附件中的Struts2TypeConversion.zip主要演示了对坐标单个(一个一个处理)类型转换处理以及区分基本的类型转换类DefaultTypeConverter和struts2自带的类型转换类StrutsTypeConverter的使用区别(一般情况下我们都用StrutsTypeConverter更好一点)。Struts2TypeConversion2.zip主要演示对坐标进行批量类型转换处理。Struts2TypeConversion3.zip是直接转换的情况,不需要用到转换器。(struts2类型转换就这3中情况)。
Struts2TypeConversion4.zip是全局类型转换示例(针对一个需要转换的实体只配置一次)。


重点说明:针对Struts2TypeConversion3.zip直接转换的情况,当把point.x和point.y提交到服务器的时候,服务器发现是以点分割的。那么它就去action里去找名字为point的属性,然后发现后面还有个x,那么它就又会去point里去找setX()方法,找到就吧x的值赋进去。
这种类型转换最简单了,不需要配置文件,也不需要引用任何转换器(它会一层一层自动往里找,直到找到最后一个属性的set方法,并把值赋进去)。这也是struts2的智能之处。
这里需要注意的是,这种转换之后在页面上显示的时候,必须要在相应的bean文件里重写toString()方法,否则结果不能在页面上正常显示。

针对Struts2TypeConversion4.zip是全局类型转换的情况,如果想使用全局类型转换器(就是此应用里遇到的所有词类型变量,都用此转换器来转换)。那么这个配置文件必须放到src下面,而且文件名字叫xwork-conversion.properties(必须是这个)
配置文件里的等号左边是需要转换的类型,右边是所使用的转换器名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值