• 40.其他表单标签


    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

    <s:select name="singer"  list="{}" label="歌星" headerKey="0" headerValue="--歌手名单--" emptyOption="true">

                         <s:optgroup list="#{1:'任贤齐',2:'刘德华',3:'周杰伦'}" label="男歌手"/>

                         <s:optgroup list="#{1:'萧亚轩',2:'蔡依林',3:'she'}" label="女歌手"/>

    </s:select>

                 

    <s:combobox label="来源调查" list="{'朋友介绍','电视广告','网络广告'}" name="from" />

                 

                  <s:updownselect

                                list="{'java','C#','VC','php','vb','vc','python'}"

                                moveDownLabel="下移一位"

                                moveUpLabel="上移一位"

                                selectAllLabel="全部选中"

                                label="您常用编程语言排名"

                                />

                 

                  <s:optiontransferselect

                                leftTitle="选择喜欢做的事:"

                                list="{'听歌','看电影','编程','玩游戏','chat'}"

                                name="love"

                                headerKey="0"

                                headerValue="喜欢做的事"

                                emptyOption="true"

                               

                                rightTitle="选择讨厌做的事:"

                                doubleList="{'跳舞','唱歌','打篮球','旅游','shopping'}"

                                doubleName="hate"

                                doubleHeaderKey="0"

                                doubleHeaderValue="不喜欢的事"

                                doubleEmptyOption="true"

                               

                                label="个人兴趣说明"

                               

                                leftUpLabel="上移"

                                leftDownLabel="下移"

                                rightUpLabel="上移"

                                rightDownLabel="下移"

                                addToLeftLabel="<—添加"

                                addToRightLabel="添加—>"

                                addAllToLeftLabel="<—添加(All)"

                                addAllToRightLabel="添加(All)—>"

                                selectAllLabel="全选"

                                />

    <s:checkbox label="接受服务条款" value="false" name="user.accept"/>

    有了前面的标签学习,这些标签很容易理解,只需结合显示效果和查看源码来加深它们的理解。但是特别要注意的是<s:checkbox>标签与</s:checkboxlist>的区别。

    补充:使用struts2生成的表单标签会在标签内嵌套一些特殊的格式,在使用了struts2生成的标签所在网页内查看源代码可以发现多了一些如<tr><td>这样的格式化代码。如果不想struts2增加这些多余的格式化代码,可以在struts.xml中配置如下内容:

    <!-- struts2生成的表单标签使用默认的主题,即不附加格式化标签 -->

    <constant name="struts.ui.theme" value="simple"/>

    6.其它常用标签的使用(代码参名为“补充”的文件夹下的tag.jsp)

    (1)<s:set>标签

    此标签主要用于设置一些属性值。

    Scope:指定变量被设置的范围,该属性可以接受application、session、request、page或Action。如果没有设置该属性,则默认放置在OGNL Context中,我们可以通过#号来引用。

    Value:赋给变量的值,如果没有设置该属性,则将ValueStack栈顶的值赋给变量。

    Id/name/var:属性的引用名称,id/name均过时,建议用var来取代他们。

    (2)<s:property>

    Default:可选属性,如果需要输出的属性值为null,则显示属性指定的值

    Escape:可选属性,指定是否格式化html代码。

    Value:可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出ValueStack栈顶的值

    Id:可选属性,指定该元素的标识

    (3)<s:Iterator>

    Value:可选属性,指定迭代的集合,如果没有指定该属性,则使用ValueStack栈顶的集合

    Id:可选属性,指定集合里元素的id(已被标记为过时)

    Status:可选属性,该属性指定迭代时当前迭代对象的一个实例,并把此实例放在ognl的上下文中,我们可以通过#号来引用这个实例。该实例包含如下几下方法:

    Int  getCount:返回当前迭代了几个元素。

    Int  getIndex:返回当前被迭代的元素的索引

    Boolean  isEven:返回当前被迭代的元素的索引是否是偶数

    Boolean  isOdd:返回当前被迭代的元素的索引是否是奇数

    Boolean  isFirst:返回当前被迭代的元素是否是第一个元素

    Boolean  isLast:返回当前被迭代的元素是否是最后一个元素

    说明:因为iterator会把每次迭代的实例放在值栈的栈顶,而<s:property>默认访问的是值栈的栈顶元素。所以如下代码可行:

    <s:set var="list" value="{'第一个','第二个','第三个'}"/>

    <!-- iterator迭代的特点:会把迭代的对象放到值栈的栈顶 -->

    <s:iterator value="#list">

           <s:property/>

    </s:iterator>

    如果想用status来实现一些功能,可参下面的代码:

    <br/>-------------------奇数红色,偶数蓝色---------------<br/>

    <s:iterator value="#list" status="i">

           <font color='<s:if test="#i.even">blue</s:if><s:else>red</s:else>' >

           <s:property/>

           </font><br/>

    </s:iterator>

    (4)url标签

           <br/><br/>-----------使用url---------------<br/>

           <s:set var="age" value="25" scope="request"/>

           <s:url action="asm" namespace="/" >

                  <s:param name="age" value="#request.age"></s:param>

           </s:url>

    说明:它会根据action及namespace并附加上下文路径构建一个链接。

    <br/><!-- value的值中一定要用单引号引起,这样才表示它的值是一个字串 -->

           <s:set var="bdUrl" value="'http://www.baidu.com'" />

           <s:url value="#bdUrl" /> <br/>

           <s:url value="%{#bdUrl}" /> 

    说明:由于url标签的value属性默认不支持ognl,所以我们要使用%{}来表示{}中的#bdUrl是一个ognl表达式。

    (5)date标签

         <s:date name="date" format="yyyy年mm月dd日 E"> (显示为如:2012年12月12日 星期一)

    (6)if else 标签

         <s:if test="判定语句">符合判定的执行语句</s:if>           依据上一个if标签<s:else>......</s:else>

  • 相关阅读:
    JAVA 问题
    WebStrom配置多个项目的Dweployment时,设置默认的启动配置
    C#中有关数组和string引用类型或值类型的判断
    Delegate(代理)异常:该委托必须有一个目标
    RMAN BACKUP
    Oracle ORA-01033: 错误解决办法
    微信公众号开发 接口配置信息 配置失败
    使用JAVA开发微信公众平台(一)——环境搭建与开发接入
    微信开发准备(四)--nat123内网地址公网映射实现
    nat123安装启动教程帮助
  • 原文地址:https://www.cnblogs.com/sharpest/p/5587947.html
Copyright © 2020-2023  润新知