首页 > 代码库 > Struts2:标签库

Struts2:标签库

技术分享

使用struts标签库的jsp需要引入标签库
<%@taglib prefix="s" uri="/struts-tags"%>
url来自哪里?

struts2-core-2.3.16.1.jar
→META-INF
    →struts-tags.tld
        →Line11:<uri>/struts-tags</uri>

控制标签:分枝循环

<!-- 【分枝结构if else】 -->                    <s:if test="2==1">                        1==1                </s:if>                                        <s:elseif test="3==2">                        2==2                </s:elseif>                                        <s:else>                        3==3                </s:else>                    <hr />                    <!-- 【循环遍历】 -->                    <!-- set定义Map:井号{v:k},数字,字符串都可以 -->                    <s:set name="mymap" value="#{‘1‘:‘中国‘,2:‘大英帝国‘,3:‘俄罗斯帝国‘}" />                    <!-- set定义List:不加井号,字符串中不能只有一个字符,哪怕是全角字符 -->                    <s:set name="mylist" value="{‘中国‘,‘日本‘,‘韩国‘}" />                                        <!-- s:iterator value=http://www.mamicode.com/可以加井号,不加也可以 -->                    <s:iterator value="mymap" var=‘per‘>                        <!-- 取var的下一层必须加井号 -->                    <s:property value="#per.value" />                    <br />                </s:iterator>                    <hr />                                        <s:iterator value="mylist" var="per3" status="sta">                        <s:property value="per3" />                    <!-- var:当前元素(保存在context page作用域的一个变量) -->                    <!-- ___status:当前元素的状态,取其中的值必须加井号 -->                    index:<s:property value="#sta.index" />                    count:<s:property value="#sta.count" />                    <s:if test="#sta.even">                        偶数                </s:if>                    <s:elseif test="#sta.odd">                        奇数                </s:elseif>                    <s:else>                    </s:else>                    first:<s:property value="#sta.first" />                    last:<s:property value="#sta.last" />                    <br />                </s:iterator>                    

技术分享

数据标签:显示数据

<!-- 【【数据标签】】 -->                                                <!-- 【set定义值】 -->                        <!-- ___Scope存储的范围是在application、session、request、page……。 -->                        <!-- ___默认是存储在该stack context中。 -->                        <s:set var="v1" value="‘property:中国人‘" scope="session"></s:set>                        <!-- attr.***默认是从 page, request, session, then application scopes -->                        <s:property value="#attr.v1" />                                                <!-- 【date格式化日期 】 -->                        <%                            pageContext.setAttribute("d", new java.util.Date());                    %><br>                        <s:property value="#attr.d" />                        <br>                        <s:date name="#attr.d" format="公元yyyy年MM月dd日 hh:mm:ss.SSS" />                                                <!-- 【property】 -->                        <!-- ___1.输出(狭义)值栈,2.#输出stack context -->                        <!-- ___可以设默认值,如果没有value,取得是值栈顶部对象 -->                        <br>                        <s:property value="#request.a1" />                        <br>                        <s:property value="#request.a1" default="万岁" />                        <br>                        <s:property />                        <s:debug />                        

技术分享

UI标签:控件

<!-- 【【UI标签】】 -->                            <style>                            .c1 {                                background-color: #EEEEEE;                        }                            </style>                            <s:form>                                <!-- 不在form中不会每个控件占一行 -->                                                        <s:textfield name="nm" label="用户名" tooltip="提示" cssClass="c1" />                            <s:password name="pwd" label="密码" tooltip="请输入密码" />                            <!-- cols:有滚动条时只能输入3列 -->                            <s:textarea name="introduce" label="自我介绍" tooltip="提示" rows="2" cols="3" />                                                        <!-- set定义List:不加井号,字符串中不能只有一个字符,哪怕是全角字符 -->                            <s:set name="weiList" value="{‘张辽‘,‘徐晃‘,‘乐进‘,‘于禁‘,‘张郃‘}" />                            <!-- set定义Map:井号{v:k},数字,字符串都可以 -->                            <s:set name="wuMap"                                value="#{‘101‘:‘黄盖‘,‘102‘:‘程普‘,‘103‘:‘周泰‘,‘104‘:‘太史慈‘,‘105‘:‘甘宁‘}" />                                                    <!-- 【单选:关键属性:list】 -->                            <s:radio name="shu" list="{‘关羽‘,‘张飞‘,‘赵云‘,‘黄忠‘,‘马超‘,‘魏延‘}"                                label="蜀国点将" tooltip="请点将" />                        <!-- 【单选:取值为List】 -->                            <s:radio name="wu" list="weiList" label="魏国点将" />                            <!-- 【单选:取值为Map】 -->                                                        <!-- 默认,listKey=‘key‘,listValue=http://www.mamicode.com/‘value‘ -->                            <!-- 默认选中:value -->                            <s:radio name="wei" list="wuMap" label="吴国点将" listKey="value"                                value="‘太史慈‘" />                        <!-- 【复选】也可以使用List或Map -->                            <!-- value:默认选中 -->                            <s:checkboxlist name="cwei" label="魏国" list="weiList"                                value="{‘张辽‘,‘徐晃‘}" />                        <s:checkboxlist name="cwu" label="吴国" list="wuMap" value="{‘张辽‘,‘徐晃‘}" />                            <!-- 【下拉列表:select】也可以使用List或Map -->                            <!-- headerKey & headerValue:加的一项,多是提示作用 -->                            <s:select name="swei" label="魏国" list="weiList" headerKey=""                                headerValue="曹操点将" />                        <!-- 默认选项,使用Map时需是key的值 -->                            <s:select name="swu" label="吴国" list="wuMap" value="‘104‘" />                        </s:form>                            

技术分享

 

Struts2:标签库