浏览 2695 次
锁定老帖子 主题:struts1.2之Form续与标签入门
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-20
最后修改:2009-09-21
需要Java类,各有不同的实现 支持的属性:基本类型,包装类,自定义类,数组, Map, List 初始化:reset(),对数组,Map,List初始化 如何验证:validate()方法,通过验证框架. 如何取值:转换成对应的具体的ActionForm类,通过getter方法去对ActionForm取值. Vo传值(BeanUtils):copyProperties(vo,properties), 动态属性:不支持 JSP上:input里的Name要和Form中的属性要对应,包括大小写. 嵌套属性:user.address.city 应用场合:对某些有明确验证需求的.对表单域做一定的过虑. 对于要把表单存在Session中 ActionForm重用问题:当N个Action其对应表单都是某个共同的子集,把这些Action对应同一个ActionForm <action name="相同" ... /> DynaActionForm 不要Java类, 配置属性 基本类型不支持,支持包装类, 自定义类,数组,Map,List(做不了,不支持) 初始化:initial,只能对String,String[]初始化,对于数组和Map不用new 如何验证:通过验证框架验证,没有validate()方法 如何取值:转成DynaActionForm, 然后(Type)get("xxx"),getString("XX"),getStrings("XX"),getMap() Vo传值(BeanUtils):getMap(),populate(vo, map); 动态属性:不支持 JSP上:与ActionForm完全一样. 嵌套属性:同上 应用场合:同上 Map-backed Form 需要类, 形式是固定的 包装类,自定义类(主要是String) 页面写成value(xx)的形式 初始化:基本上不支持. 如何验证:没法验证. 如何取值:转成MapForm,getValue("xx"),getMap(). Vo传值(BeanUtils):getMap(),populate(vo, map); 动态属性:支持 JSP上:所有的属性名对应value(xx) 嵌套属性:不能用这种方式,它会把usr.address.city当成字符串放到Map里. 应用场合:对应数据库表的CRUD操作. LazyValidatorForm 不需要Java类,基本类型,String,Date,自定义类不完全支持,Map,List,数组和自定义类都要去配置. 也就是显示的申明让它来支持. 初始化:基本上不支持.除非显示申明的那些属性. 如何验证:只能通过框架, 一定要框架. 如何取值:转成DynaBean, 用get("xxx"),xxx和页面对应,get("xxx", int)数组List取第几个 get("xxx", string)到Map中的指定Key的值. Vo传值(BeanUtils):copyProperties(vo,properties), 动态属性:支持 JSP上:没有附加要求. 嵌套属性:能嵌套, 还是DynaBean. 应用场合:优先选择, 可以回退成DynaActionForm用. 9:30 2009-8-28 ------------------------------------------------------------------------------ Struts 标签 共用属性:id --- var property : 1,只有property,没有name,和属性对应. 2,name,property一起出现 bundle : 对应资源文件. key : 对应资源文件中的Key. scope : 范围 ------------------ Struts Bean Tags BeanServlet cookie,pageContext,param,paramValues,initParam,header. <bean:cookie id="cookie" name="" value="" /> <bean:parameter id="" name="" value="" /> <bean:parameter id="" multiple="yes|no" name="" value="" /> <bean:page id="" property="" /> BeanResources <message-resource parameter="" key="special" /> <bean:message bundle="special" key="hello" /> <bean:message bundle="special" name="" /> BeanBean <bean:define id="" value="" /> 1,定义字符串:<bean:define = "" value="" /> 2,复制一个Bean : <bean:define id="" name="" type="xx.xx.xx" scope="" toscope="" property="" /> <bean:size /> <bean:size id="" name="" property="" /> <bean:write /> <bean:write format="#.###" name="" /> <bean:write format="MM-dd-yyyy hh:mm:ss" name="now" property="time" /> ------------------------------------------ Struts HTML Tags <html:link /> <html:link forward="index" > <html:link page="/htmlbasic.do" > <html:link page="" paramId="" paramName="" paramProperty="" > <html:link page="" name="map" > <html:rewrite /> <html:rewrite page="/htmlbasic.do" name="map" /> <html:cancel> 提交不验证.有一个isCanceled(request)方法. ------------------- <html:options collection="" property="" labelProperty="" /> <html:optionCollections name="' property="" label='' value='' /> ---------------------------------------------------------------------- Struts-logic标签 <logic:equal value="admin" cookie="userable"> 当前条件成立 </logic:equal> <logic:present> <logic:notPresent> <logic:empty> <logic:notEmpty> <logic:match> <logic:notMatch> <logic:iterate id="" name="" indexId="ind"> <bean:write name="" property="" /> </logic:iterate> <logic:iterate id="" indexId name offset length > </logic:iterate> <logic:redirect> <logic:forward> ---------------- 常用的Struts标签: <bean:write> <bean:define> <bean:size> <html:options> <html:action> <html:link> <logic:match> 随意选: <bean:parameter> <bean:header> <bean:cookie> <logic:empty,present> 问的比较多的: <logic:iterate> <html:cancel> isCancled()方法 <html:checkBox,radio,multibox> 赋初值 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |