Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Struts2基础——标签

一、通用标签1.s:property (读取值栈中对象的属性值)属性:value:指定OGNL表达式;default:OGNL表达式返回为 null 时,使用默认值;escape:是否对 HTML 特殊字符进行转义e1:读取对象栈中对象的属性值<s:property value="[1].userName"/>e2:访问Map栈,读取Session域中对象的属性值<s:property value="#session.sessionKey"/>e3:访问Map栈,通过attr读取域对象中的属性值<s:property value="#attr.requestAttrKey"/>e4:若不指定 value 值,则返回栈顶对象2.s:url(创建一个 url 地址字符串)属性:value:创建 url 地址字符串;action:带有 ContextPath 和 .action 后缀e1:通过value属性创建URL地址字符串<s:url value="url"/><!-- url--><s:url value="/url"/> <!-- /struts2/url 带有 ContextPath-->e2:通过action属性创建URL地址字符串<s:url action="actionUrl"/> <!-- /struts2/actionUrl.action 不需要再次指定 / -->e3:通过action属性和namespace属性以及method属性创建URL地址字符串<s:url action="acitonUrl" namespace="test" method="dynamicMethod"/> <!-- test/acitonUrl!dynamicMethod.action -->e4:创建带请求参数的URL地址字符串<s:url value="/urlParam"><s:param name="userId" value=""zsmj""/></s:url><!-- /struts2/urlParam?userId=zsmj --><!-- 1.s:param 标签:给父标签传递参数2.value:若不加单引号,则从值栈中查找,若值栈中找不到则不添加该参数;加单引号按字符串输出-->e5:创建包含GET方式传递过来的请求参数的URL地址字符串<s:url value="/urlParam" includeParams="get" />e6:创建不包含contextPath的URL地址字符串<s:url value="/urlParam4" includeContext="false"/>3.s:set(将键值对存入域对象)
属性:var:存入域对象中的 name 值;value:存入域对象中的 value 值; scope:域对象的范围;其他两个属性都是过时的e1:将attrName01="attrValue01"存入Session域<s:set var="attrName01" value=""attrValue01"" scope="session"/><s:property value="#session.attrName01" />e2:默认存入 request 域中e3:value 可以为 OGNL 表达式,值为对应值栈中的值<s:set value="#attr.attrName01" var="attrName03"/><s:property value="#attr.attrName03"/>4.s:push(将一个对象临时压入栈顶,标签结束后弹出)
属性:value:要压入栈顶的对象,可以为 OGNL 表达式 对应的值栈中的值<s:push value=""pushObj""><s:property/> <!-- pushObj --></s:push><s:property/> <!-- com.nucsoft.struts2.helloworld.TestTagAction@7202555 -->5.s:if、s:elseif、s:else属性:test: 布尔值e1:传入以age为键的请求参数,根据age的不同值测试不同分支条件<s:if test="#parameters.age[0]>18">大于18岁了</s:if><s:elseif test="#parameters.age[0]<18">小于18岁</s:elseif><s:else>等于18岁了</s:else>6.s:iterator(遍历数组、Collection集合、Map集合,将遍历得到的每一个结果放入栈顶,本次循环结束时弹出)属性:value:要遍历的内容;var:将遍历得到的值以字符串的形式放入请求域,如果不指定则放入栈顶;status:IteratorStatus类型,会放入到请求域中;begin:遍历开始索引位置;end:遍历结束索引位置,包含;step:步长,指定负数则倒序遍历。e1:遍历集合<s:iterator value="#attr.list"><s:property/></s:iterator>e2:遍历Map<s:iterator value="#attr.map"><s:property value="key"/><s:property value="value"/></s:iterator>7.s:sort(对数组、Collection集合或Map集合中的元素进行排序)属性:source:要比较的集合对象var:将排序好的集合对象放入pageScope,若不指定,则存入值栈栈顶comparator:比较器对象8.s:date(格式化日期???
属性:name:指定一个 OGNL 表达式,用于读取要格式化的日期对象format:日期格式字符串,如"dd/MM/yyyy"var:若有值,则以此值为key,存放到域对象中,若没指定,则输出。9.s:a(创建一个超链接)属性:href:将指定字符串原封不动的作为超链接的 href 值,不支持EL 表达式,如要从值栈中获取数据,可以使用强制 OGNL 解析,%{OGNL表达式}%value:不加 /,和 href 一样,加 / ,自动加入 ContextPath二、表单标签1.总览
Struts2标签名对应的HTML元素
s:formform
s:textfieldinput type=”text”
s:passwordinput type=”password”
s:hiddeninput type=”hidden”
s:submitinput type=”submit”
s:textareatextarea
s:radioinput type=”radio”
s:selectselect/option
s:optiongroupoptiongroup/option
s:checkboxlistinput type=”checkbox”
s:checkbox单一的input type=”checkbox”
       2.表单标签的通用属性
属性名类型作用
labelString指定一个表单元素在XHTML和Ajax主题下的行标,在simple主题下无效
nameString指定一个表单元素的name属性值,一个输入元素的name属性将被自动映射(或注入)到一个Action类中由setXxx()方法定义的属性
valueString指定一个表单元素的value属性值
cssClassString指定一个表单元素的class属性值
cssStyleString指定一个表单元素的style属性值
titleString指定一个表单元素的title属性值
disabledString指定一个表单元素的disabled属性值
labelPositionString指定一个表单元素在XHTML和Ajax主题下的行标位置,可选值[top|left]
keyString这个输入字段所代表的属性的名字,name和label属性的快捷方式
requiredboolean在XHTML主题中,指定该属性是否加*
requiredPositionString指定一个表单元素的*的位置,可选值[left|right]
tabIndexString指定HTML标签的tabindex属性
        3.s:form 标签
属性名类型默认值作用
actionString当前action当前表单提交的目标Action
enctypeString——表单的enctype属性
methodStringPOST表单提交的请求方式
namespaceString当前namespace目标Action所从属的命名空间
acceptcharsetString——当前表单所接受的字符集,多个字符集用逗号或空格隔开
onsubmitString——用于绑定onsubmit事件的句柄
openTemplateString——用来打开这个表单的模板
portletModeString——在用户提交这个表单后将显示的portlet模式
targetString——表单的target的属性
validatebooleanfalse在XHTML/Ajax主题下是否进行客户端输入验证
windowStateString——用户提交表单后将显示的窗口状态
       4.s:textfield标签(生成一个单行文本框)
属性名类型默认值作用
maxlengthint——生成文本框后最多能容纳多少个字符
readonlybooleanfalse生成的文本框是否为只读
sizeint——生成的文本框的宽度
key  可以同时代替 name 和 label 属性
    5.s:password标签(生成一个密码框)说明:扩展自 s:textfield ,多了一个 showPassword 属性,为 布尔型,决定要不要显示输入的密码6.s:hidden 标签(用于生成一个表单隐藏域)7.s:submit标签(用于生成表单提交按钮)
属性名类型默认值作用
alignStringrightXHTML/Ajax主题下控制提交按钮的对齐方向
typeStringinputXHTML/Ajax主题下控制提交按钮的显示方式,可选值[input|button|image]
srcString——当type=image时,使用src属性指定图片路径
  8.s:textarea标签(用于生成多行文本域)
属性名类型默认值作用
colsint——textarea标签的cols属性
rowsint——textarea标签的rows属性
readonlybooleanfalse指定当前元素是否为只读
   9.有选择功能的标签的通用属性list属性:指定用于生成多选框的list集合listKey属性:指定生成的多选框的value属性listValue属性:指定每一个多选框旁边的说明文字name属性:指定生成的多选框的name属性如果list属性读取的是一个Map,则可以由Map的键生成多选框的value属性,Map的值生成多选框旁边显示的文字,所以此时不需要指定listKey和listValue属性。10.s:radio标签(生成一组单选按钮)<s:radio list="#{"male":"男","female":"女"}" name="gender" label="性别"></s:radio>11.s:select标签(生成下拉列表)
属性名类型默认值作用
emptyOptionbooleanfalse指定???否在标题下面插入一个空白选项
headerKeyString——选项列表中第一个选项的键
headerValueString——选项列表中第一个选项的值
multiplebooleanfalse指定是否多选
sizeint——同时显示在页面里的选项个数
        10.s:optiongroup标签(示选项的分组,每个分组有自己数据的来源)<s:optgroup label="opt01" list="#{"aa":"AA","bb":"BB" }"></s:optgroup><s:optgroup label="opt02" list="#{"aa":"AA","bb":"BB" }"></s:optgroup>11. s:checkboxlist标签(生成一组多选框)<s:checkboxlist list="#request.cities" listKey="cityId" listValue="cityName" name="love" label="喜爱的城市"></s:checkboxlist> 12.s:checkbox标签(在页面上提供一个勾选框,用于提交一个布尔值,典型的应用是“是否同意”)<s:checkbox name="married" label="婚否"></s:checkbox><input type="checkbox" name="married" value="true" id="userAction_married"/><input type="hidden" id="__checkbox_userAction_married" name="__checkbox_married" value="true" /><label for="userAction_married" class="checkboxLabel">婚否</label>推荐阅读:Struts中异步传送XML和JSON类型的数据 http://www.linuxidc.com/Linux/2013-08/88247.htmStruts2的入门实例 http://www.linuxidc.com/Linux/2013-05/84618.htmStruts2学习笔记-Value Stack(值栈)和OGNL表达式  http://www.linuxidc.com/Linux/2015-07/120529.htm struts2文件上传(保存为BLOB格式) http://www.linuxidc.com/Linux/2014-06/102905.htmStruts2的入门实例 http://www.linuxidc.com/Linux/2013-05/84618.htmStruts2实现ModelDriven接口 http://www.linuxidc.com/Linux/2014-04/99466.htm遇到的Struts2文件下载乱码问题 http://www.linuxidc.com/Linux/2014-03/98990.htmStruts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htmStruts2 注解模式的几个知识点 http://www.linuxidc.com/Linux/2013-06/85830.htmStruts 的详细介绍:请点这里
Struts 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133116.htm