struts2标签库总结.docx
- 文档编号:4322235
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:28
- 大小:24.84KB
struts2标签库总结.docx
《struts2标签库总结.docx》由会员分享,可在线阅读,更多相关《struts2标签库总结.docx(28页珍藏版)》请在冰豆网上搜索。
struts2标签库总结
struts2标签库总结
struts2标签是struts2的重点,和action配合使用,就是struts2的重点。
偶第一次使用struts2,就觉得比jsp/servlet这样的方案,容易多了。
在jsp放个input之类的文本框,在servlet中用request.getParameter()来获取值insert数据库,然后再用request.setAttribute()来给页面返回值。
代码量非常可观。
但struts2中就方便多了。
偶一般的写法是这样的。
写一个JAVA类继承ActionSupport,然后在JSP页面是就可以直接使用了。
例:
textfieldname=""label=""/> 言归正传,struts2的标签分为UI标签和非UI标签。 下面就struts2与html作个对比.在此推荐一个eclipsehtml插件 eclipsetidy: 文本框: Struts2: textfieldname=""label=""/> 如果是日期型,可使用 datename="Date"format="yyyy-MM-dd"/> 由于struts2支持使用el表达式,所以也textfield可写 textfieldname="Date"label="Date"value={Date} /> HTML: 列表框: Struts2: 固定值: select tooltip="Choose Your Favourite Color" label="Favorite Color" list="{'Red', 'Blue', 'Green'}" name="favoriteColor" emptyOption="true" headerKey="None" headerValue="None"/> 动态列表: select tooltip="Choose Your Favourite Language" label="Favourite Language" list="favouriteLanguages" name="favouriteLanguage" listKey="key" listValue="description" emptyOption="true" headerKey="None" headerValue="None"/> 注: 如果采用动态列表,必须用action访问,如果用JSP访问会报错. list指action中的list、map等集合类, listKey相当于html中的value listValue相当于html中select显示的值 emptyOption是否为空 headerKey、headerValue初始的键、值 HTML: URL参数传递: Struts2: praram name="test"value="testValue"/> 例: url="test.action"> param name="test" value="testValue"/> url> '>urlTest HTML: url? name=testValue 例: 192.168.1.1/test.action? name=testValue 日期下拉框: Struts2: datetimepicker label="toggleType='wipe'" value="${orderMain.orderDate}" toggleType="wipe" toggleDuration="300" displayFormat="yyyy-MM-dd" name="orderMain.orderDate"/> 说明: ${orderMain.orderDate}取类的值,这个参数也可不写,用name就可以。 使用该tag时要在前要加入 head/>。 HTML: 只能用js写了.事实上struts2的datetimepicker也是js的封装. 隐藏域: strut2: hiddenname="Value"/> HTML: 另外,struts2的tag是默认在enter时自动提交表单,要屏蔽此功能。 在onkeydown事件中加入键盘触发代码。 例: if(event.keyCode==13)event.keyCode=9;就是将回车转成tab键. 还有一种方法更为简便方法: //回车转Tab functionEnterTabGlobal(){ document.onkeydown=functionkeyDown(){ if(event.keyCode==13) event.keyCode=9 } } //在onLoad执行 ////////////////////////////////////////////////////////////////////////////////////// struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入。 通过jsp的代码的顶部加入以下的代码: <%@taglibprefix="s"uri="/struts-tags"%> Ifelseifelse 描述: 执行基本的条件流转。 参数: 名称 必需 默认 类型 描述 备注 test 是 boolean 决定标志里的内容是否显示的表达式 else标志没有这个参数 id 否 Object/String 用来标识元素的id。 在UI和表单中为HTML的id属性 例子: setname="age"value="61"/> iftest="${age>60}"> 老年人 if> elseiftest="${age>35}"> 中年人 elseif> elseiftest="${age>15}"id="wawa"> 青年人 elseif> else> 少年 else> setname="name"value="<%="'"+request.getParameter("name")+"'"%>"/> <% System.out.println(request.getParameter("name")); %> iftest="#name=='zhaosoft'"> zhaosofthere if> elseiftest="#name=='zxl'"> zxlhere elseif> else> otherishere else> Iterator(迭代) 描述: 用于遍历集合(java.util.Collection)或枚举值(java.util.iterator) 参数 名称 必需 默认 类型 描述 status 否 String 如果设置此参数,一个IteratorStatus的实例将会压入每一个遍历的堆栈 value 否 Object/String 要遍历的可枚举的(iteratable)数据源,或者将放入的新列表(List)的对想 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 I18n(国际化操作) 描述: 加载资源包到值堆栈。 它可以允许text标志访问任何资源包的信息。 而不只当前的action相关联的资源包。 名称 必需 默认 类型 描述 name 是 Object/String 资源包的类路径(如com.xxxx.resources.AppMsg) id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 Include 描述: 包含一个servlet的输出(servlet或jsp的页面) 名称 必需 默认 类型 描述 value 时 String 要包含的jsp页面或servlet id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 param 描述: 属性是可选的,如果提供,会调用Component的方法,addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口。 Value的提供有两种方式,通过value属性或者标签中间的text,不同之处: paramname="name">zhaosoft param> 参数会以String的格式放入statck paramname="name"value="zhaosoft"/> 该值会以java.lang.Object的格式放入statck 名称 必需 默认 类型 描述 name 否 String 参数名 value 时 String value表达式 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 set 描述: set标签赋予变量一个特定范围内的值。 当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。 其在两种情况下非常有用: 复杂的表达式很耗时(性能提升)或者很难理解(代码的可读性提高) 参数: 名称 必需 默认 类型 描述 name 是 String 变量名字 scope 否 String 变量作用域,可以为application,session,request,page,action value 否 Object/String 将会赋给变量的值 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 Text 描述: 支持国际化信息的标签。 国际化信息必须放在一个和当前action同名的resourcebundle中,如果没有找到相应message,tagbody将被当作默认的message,如果没有tagbody,message的name会被作为默认message. 名称 必需 默认 类型 描述 name 是 String 资源属性的名字 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 url 描述: 该标签用于创建url,可以通过”param”标签提供request参数。 当includeParams的值是all或get,param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值。 UI标志 单行文本框 Textfield标签输出一个HTML单行文本输入控件,等价于HTML代码 名称 必需 默认 类型 描述 maxlength 否 无 Integer 文本输入控件可以输入字符的最大长度 readonly 否 false Boolean 当该属性为true时,不能输入 size 否 无 Integer 指定可视尺寸 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 例子: formaction="register"method="post"> textfieldname="username"label="用户名"> textfield> form> 文本框区 Textarea标签输出一个HTML多行文本输入控件,等价于HTML代码: 名称 必需 默认 类型 描述 cols 否 无 Integer 列数 rows 否 无 Integer 行数 readonly 否 false Boolean 当该属性为true时,不能输入 wrap 否 false Boolean 指定多行文本输入控件是否应该换行 id 否 Object/String 用来标识元素的id。 在ui和表单中为HTML的id属性 例子: textareaname="personal"cols="10"rows="5"label="个人简历"> textarea> 下拉列表 s: select标签输出一个下拉列表框,相当于HTML代码中的 名称 必需 默认 类型 描述 list 是 无 CellectionMapEnumerationIteratorarray 要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容 listKey 否 无 String 指定集合对象中的哪个属性作为选项的value listValue 否 无 String 指定集合对象中的哪个属性作为选项的内容 headerKey 否 无 String 设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置 空值 headerValue 否 无 String 显示在页面中header选项内容 emptyOption 否 false Boolean 是否在header选项后面添加一个空选项 multiple 否 false Boolean 是否多选 size 否 无 Integer 显示的选项个数 例子: <%@pagecontentType="text/html;charset=GBK"%> <%@taglibprefix="s"uri="/struts-tags"%> form> selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"/> form> form> selectlabel="最高学历"name="education"list="#{1: '高中',2: '大学',3: '硕士',4: '博士'}"/> form> form> selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}" headerKey="-1"headerValue="请选择您的学历"/> form> form> selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}" headerKey="-1"headerValue="请选择您的学历" emptyOption="true"/> form> form> selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}" headerKey="-1"headerValue="请选择您的学历" emptyOption="true" multiple="true"/> form> form> selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}" headerKey="-1"headerValue="请选择您的学历" emptyOption="true" multiple="true"size="8"/> form> form> selectlabel="最高学历"name="education"list="educations" listKey="id"listValue="name"/> form> doubleselect标签 doubleselect标签输出关联的两个HTML列表框,产生联动效果。 名称 必需 默认 类型 描述 list 是 无 CellectionMapEnumerationIteratorarray 要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容 listKey 否 无 String 指定集合对象中的哪个属性作为选项的value,该选项只对第一个列表框起作用 listValue 否 无 String 指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用 headerKey 否 无 String 设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置空值 headerValue 否 无 String 显示在页面中header选项内容 emptyOption 否 false Boolean multiple 否 false Boolean 是否多选 size 否 无 Integer 显示的选项个数,该选项只对第一个列表框起作用 doubleId 否 无 String 指定第二个列表框的ID doubleList 是 无 CellectionMapEnumerationIteratorarray 要迭代的集合 doubleListKey 否 无 String 指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用 doubleListValue 否 无 String 指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用 doubleSize 否 无 Integer 选项个数 doubleName 否 无 String 指定第二个列表框的name映射 doubleValue 否 无 Object 第二个列表框的初始选种项 实例: formname="test"> doubleselectlabel="请选择所在省市" name="province"list="{'四川省','山东省'}"doubleName="city" doubleList="top=='四川省'? {'成都市','绵阳市'}: {'济南市','青岛市'}"/> form> formaction="doubleselectTag"> doubleselect label="请选择所在省市" name="province" list="provinces" listKey="id" listValue="name" doubleList="cities" doubleListKey="id" doubleListValue="name" doubleName="city" headerKey="-1" headerValue="----------请选择----------" emptyOption="true"/> form> 复选框 名称 必需 默认 类型 描述 fieldValue 是 true String 指定在复选框选中时,实际提交的值 复选框组,对应Action中使用name和list属性,list属性的值是一个列表
使用name和list属性,list属性的值是一个Map
使用headerKey和headerValue属性设置header选项
使用emptyOption属性在header选项后添加一个空的选项
使用multiple属性设置多选
使用size属性设置下拉框可显示的选项个数
使用listKey和listValue属性,利用Action实例的属性(property)来设置选项的值和选项的内容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- struts2 标签 总结