• 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:form

    form

    s:textfield

    input type=”text”

    s:password

    input type=”password”

    s:hidden

    input type=”hidden”

    s:submit

    input type=”submit”

    s:textarea

    textarea

    s:radio

    input type=”radio”

    s:select

    select/option

    s:optiongroup

    optiongroup/option

    s:checkboxlist

    input type=”checkbox”

    s:checkbox

    单一的input type=”checkbox”

    2.表单标签的通用属性

    属性名

    类型

    作用

    label

    String

    指定一个表单元素在XHTML和Ajax主题下的行标,在simple主题下无效

    name

    String

    指定一个表单元素的name属性值,一个输入元素的name属性将被自动映射(或注入)到一个Action类中由setXxx()方法定义的属性

    value

    String

    指定一个表单元素的value属性值

    cssClass

    String

    指定一个表单元素的class属性值

    cssStyle

    String

    指定一个表单元素的style属性值

    title

    String

    指定一个表单元素的title属性值

    disabled

    String

    指定一个表单元素的disabled属性值

    labelPosition

    String

    指定一个表单元素在XHTML和Ajax主题下的行标位置,可选值[top|left]

    key

    String

    这个输入字段所代表的属性的名字,name和label属性的快捷方式

    required

    boolean

    在XHTML主题中,指定该属性是否加*

    requiredPosition

    String

    指定一个表单元素的*的位置,可选值[left|right]

    tabIndex

    String

    指定HTML标签的tabindex属性

    3.s:form 标签

    属性名

    类型

    默认值

    作用

    action

    String

    当前action

    当前表单提交的目标Action

    enctype

    String

    ——

    表单的enctype属性

    method

    String

    POST

    表单提交的请求方式

    namespace

    String

    当前namespace

    目标Action所从属的命名空间

    acceptcharset

    String

    ——

    当前表单所接受的字符集,多个字符集用逗号或空格隔开

    onsubmit

    String

    ——

    用于绑定onsubmit事件的句柄

    openTemplate

    String

    ——

    用来打开这个表单的模板

    portletMode

    String

    ——

    在用户提交这个表单后将显示的portlet模式

    target

    String

    ——

    表单的target的属性

    validate

    boolean

    false

    在XHTML/Ajax主题下是否进行客户端输入验证

    windowState

    String

    ——

    用户提交表单后将显示的窗口状态

    4.s:textfield标签(生成一个单行文本框)

    属性名

    类型

    默认值

    作用

    maxlength

    int

    ——

    生成文本框后最多能容纳多少个字符

    readonly

    boolean

    false

    生成的文本框是否为只读

    size

    int

    ——

    生成的文本框的宽度

    key

       

    可以同时代替 name 和 label 属性

    5.s:password标签(生成一个密码框)

    说明:扩展自 s:textfield ,多了一个 showPassword 属性,为 布尔型,决定要不要显示输入的密码

    6.s:hidden 标签(用于生成一个表单隐藏域)

    7.s:submit标签(用于生成表单提交按钮)

    属性名

    类型

    默认值

    作用

    align

    String

    right

    XHTML/Ajax主题下控制提交按钮的对齐方向

    type

    String

    input

    XHTML/Ajax主题下控制提交按钮的显示方式,可选值[input|button|image]

    src

    String

    ——

    当type=image时,使用src属性指定图片路径

    8.s:textarea标签(用于生成多行文本域)

    属性名

    类型

    默认值

    作用

    cols

    int

    ——

    textarea标签的cols属性

    rows

    int

    ——

    textarea标签的rows属性

    readonly

    boolean

    false

    指定当前元素是否为只读

    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标签(生成下拉列表)

    属性名

    类型

    默认值

    作用

    emptyOption

    boolean

    false

    指定是否在标题下面插入一个空白选项

    headerKey

    String

    ——

    选项列表中第一个选项的键

    headerValue

    String

    ——

    选项列表中第一个选项的值

    multiple

    boolean

    false

    指定是否多选

    size

    int

    ——

    同时显示在页面里的选项个数

    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>
  • 相关阅读:
    用代理模式 保持用户关闭链接的习惯
    jdbc 链接池的优化
    jdbc 链接池
    xml 操作
    互联网时代常用网站资源整理汇总(一直在完善中)
    快速读懂机器学习(附送详细学习资源)
    快速读懂机器学习(附送详细学习资源)
    常见网络命令之traceroute命令一起其他常用命令
    常见网络命令之traceroute命令一起其他常用命令
    Java案例之士兵作战功能实现
  • 原文地址:https://www.cnblogs.com/solverpeng/p/5649877.html
Copyright © 2020-2023  润新知