strutS类型转换

strutS类型转换

ID:43352269

大小:605.50 KB

页数:24页

时间:2019-10-08

strutS类型转换_第1页
strutS类型转换_第2页
strutS类型转换_第3页
strutS类型转换_第4页
strutS类型转换_第5页
资源描述:

《strutS类型转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Struts—第四章Struts类型转换续1回顾Struts2有几种类型转换Struts2在什么情况下需要自定义类型转换Struts2如何进行自定义类型转换回顾新的要求要求在input.jsp页面中增加三个点的输入,如何实现?解决办法(Converter工程)在input.jsp页面中增加另两个point文本框在PointAction中增中这两个点的映射在属性文件中增加这两个属性的映射在out.jsp文件中增加这两个点的输出新的问题如果此时有两个页面input.jsp及login.jsp都需要有Point的输入,如何处理?解决办法1增加另一个Action;在该

2、Action路径下创建一个相对于这个action的属性文件优点:可以对前面的信息进行复用,简单易行缺点:如果action很多的话,会以增加很多文件解决办法2使用全局类型转换类型转换局部类型转换(针对单个action来进行的)全局类型转换(针对工程来进行的)注册自定义类型转换器注册自定义类型转换器有两种方法局部类型转换器:只有特定的Action才可以使用注册方法:在Action所在的包中建立properties文件,文件名格式:Action类名-conversion.properties,内容如下:inver=com.aptech.conversition.In

3、tArrayConverter其中:inver是action属性名,全局类型转换器:所有Action都可以使用注册方法:在classpath下建立名为xwork-conversion.properties的文件,内容如下:目标类型(全限定名)=转换器全限定名9使用全局类型转换(重点)属性文件的要求:位置上:在struts.xml文件同一路径下创建属性文件文件名称:xwork-conversion.properties文件内容要转换的类=实现类型转换的类例:com.test.bean.Point=com.test.converter.PointActionCon

4、verter注意:所有类名要写全称即包名+类名属性文件的注释#思考,上一节课如何实现转换类?publicclassPointActionConverterextendsDefaultTypeConverter{publicObjectconvertValue(Mapcontext,Objectvalue,ClasstoType){if(Point.class==toType){Pointp=newPoint();String[]str=(String[])value;String[]param=str[0].split(",");intx=Integer.pa

5、rseInt(param[0]);inty=Integer.parseInt(param[1]);p.setX(x);p.setY(y);returnp;}if(String.class==toType){Pointp=(Point)value;intx=p.getX();inty=p.getY();Stringresult="x="+x+"y="+y;returnresult;}returnnull;}}更简单的办法使用StrutsTypeConverter抽象类PointActionConverter2.javapublicclassPointAction

6、Converter2extendsStrutsTypeConverter{publicObjectconvertFromString(Maparg0,String[]arg1,Classarg2){Pointpoint=newPoint();String[]param=(String[])arg1[0].split(",");intx=Integer.parseInt(param[0]);inty=Integer.parseInt(param[1]);point.setX(x);point.setY(y);returnpoint;}PointActionCon

7、verter2.javapublicStringconvertToString(Maparg0,Objectarg1){Pointpoint=(Point)arg1;intx=point.getX();inty=point.getY();Stringresult="x="+x+"y="+y;returnresult;}}上面方法有什么好处?不需要自己做判断,是String到自定义类还是自定义类到String直接重写两个方法即可新需求publicclassPointActionextendsActionSupport{Pointpoint;Pointpoint2

8、;Pointpoint3;intage

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。