您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 17第17节:集合对象的类型转换
第17节:集合对象的类型转换7.6集合对象的类型转换回顾•内置类型转换•自定义类型转换例转换(分割字符串)mycolor=“200,130,200”form1、读取参数2、转换成color对象3、定义显示方法(用于显示color对象)actionprivateIntredprivateIntgreenprivateIntblueColorcolor;StringColor定义方法1、读取参数2、转换成color对象3、定义显示方法(用于显示color对象)继承:StrutsTypeConverter实现方法:publicObjectconvertFormString(Mapcontex,String[]values,ClasstoClass){returncolor;}继承:可以直接使用系统提供的功能。如:参数具体传递方法,事件触发的执行,等等。String[]valuesColorcolor转换Action环境信息目标对象参数P139下--P140上配置—局部转换•基于action的局部配置•在action相同路径下(不是converter路径)•添加配置文件ActionName-conversion.propertiesActionName为使用到自定义类型转换的action类名•书写需要转换字段属性=转换器类名mycolor=converter.MyColorConverter全局转换•基于项目的局部配置•在struts.xml相同路径下•添加配置文件xwork-conversion.properties•书写需要转换的自定义类名=转换器类名beans.Color=converter.MyColorConverter本节重点•集合类型转换数组(多种类型),List(多种类型),Map数组•formaction=score.action•s:textfieldname=scoreslabel=语文/br•s:textfieldname=scoreslabel=数学/br•s:textfieldname=scoreslabel=英语/br•s:textfieldname=scoreslabel=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateDouble[]scores;……}score.jspScoreActionscore_confirm.jsp数组ognl•formaction=score2.action•s:textfieldname=scores[0]label=语文/br•s:textfieldname=scores[1]label=数学/br•s:textfieldname=scores[2]label=英语/br•s:textfieldname=scores[3]label=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateDouble[]scores=newDouble[4];……}score2.jspScoreAction2score_confirm2.jsp区别•Name=“score[0]”…Name=“score[3]”•均被认为独立参数•依据参数名score[0]寻找匹配•Ognl的访问方式List•formaction=score.action•s:textfieldname=scoreslabel=语文/br•s:textfieldname=scoreslabel=数学/br•s:textfieldname=scoreslabel=英语/br•s:textfieldname=scoreslabel=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateListscores;……}score3.jspScoreAction3score_confirm3.jspList泛型•formaction=score.action•s:textfieldname=scoreslabel=语文/br•s:textfieldname=scoreslabel=数学/br•s:textfieldname=scoreslabel=英语/br•s:textfieldname=scoreslabel=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateListDoublescores;……}score4.jspScoreAction4score_confirm4.jspscore5.jspList自定义类型•formaction=score.action•s:textfieldname=“mycolorlabel=语文/br•s:textfieldname=mycolorlabel=数学/br•s:textfieldname=mycolorlabel=英语/br•s:textfieldname=mycolorlabel=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateListmycolor;……}color2.jspColor2Actiondisplay2.jspMap•formaction=score.action•s:textfieldname=“scores[‘chinese’]label=语文/br•s:textfieldname=scores[‘math’]label=数学/br•s:textfieldname=scores[‘english’]label=英语/br•s:textfieldname=scores[‘sport’]label=体育/br•inputtype=submitvalue=提交/•/formpublicclassScoreActionextendsActionSupport{privateMapString,Doublescores;……}score6.jspScoreaction5score5_confirm.jsp小结•上述类型转换基本上可以满足平时应用•当类型转换失败时,需要重新进行输入(前提转换方法正确,错误有不正确的输入引起),如何返回一些提示信息呢?(界面友好)•预习下一章输入校验作业•配置实例•尝试多种输入方式
本文标题:17第17节:集合对象的类型转换
链接地址:https://www.777doc.com/doc-3859667 .html