欢迎来到天天文库
浏览记录
ID:37898434
大小:46.00 KB
页数:8页
时间:2019-06-02
《Struts中point道String的类型转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、Struts类型转换自定义类型PointpublicclassPoint{privateintx;privateinty;//省略getterandsetter}StrutsAction:publicclassPointActionextendsActionSupport{privatePointpoint;......}客户端输入:这样,从客户端传过来point的String值,不能直接set到PointAction中的point
2、对象中。同时,输出point对象时,直接调用getter也是不行的。这时,就需要一个类型转换器,实现Point类与String之间的转换。可以继承Struts中的ognl.DefaultTypeConverter实现。/StrutsHelloWorld/src/wintys/struts2/converter/PointConverter.java:packagewintys.struts2.converter;importjava.util.Map;importognl.DefaultTypeConverter;publiccla
3、ssPointConverterextendsDefaultTypeConverter{@SuppressWarnings("unchecked")@OverridepublicObjectconvertValue(Mapcontext,Objectvalue,ClasstoType){//String=>Pointif(toType==Point.class){//获取requeststring的字符串数组String[]params=(String[])value;Stringparam=params[0];String[]po
4、ints=param.split(",");Pointpoint=newPoint();point.setX(Integer.parseInt(points[0]));point.setY(Integer.parseInt(points[1]));returnpoint;}//Point=>Stringif(toType==String.class){Pointpoint=(Point)value;intx=point.getX();inty=point.getY();return"["+x+","+y+"]";}returnnul
5、l;}}同时,还需要一个配置文件(须跟PointAction在同一目录下)PointAction-conversion.properties(名称为XXXAction-conversion.properties)来告诉Struts2PointAction中属性使用哪一个转换器类。PointAction-conversion.properties:point=wintys.struts2.converter.PointConverter2、Struts全局类型转换对于每一个属性应用转换器,当属性过多时会显得很繁琐,这时可以使用Stru
6、ts全局类型转换。全局类型转换器名称为xwork-conversion.properties,与struts.xml同在classes目录下。xwork-conversion.properties:#globalconvertersettings#classtobeconverted=converterwintys.struts2.converter.Point=wintys.struts2.converter.PointConverter3、Struts集合类型转换当PointAction中的属性是集合类型,跟非集合类型类似。pu
7、blicclassPointActionextendsActionSupport{privateListpoints;......}转换器类可以继承org.apache.struts2.util.StrutsTypeConverter,实际上StrutsTypeConverter继承于ognl.DefaultTypeConverter。/StrutsHelloWorld/src/wintys/struts2/converter/StrutsPointConverter.java:packagewintys.struts
8、2.converter;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importorg.apache.struts2.util.StrutsTy
此文档下载收益归作者所有