Struts2:标签库

Posted Andy 胡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=可以加井号,不加也可以 -->                    
<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=\'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:标签库的主要内容,如果未能解决你的问题,请参考以下文章

struts2常用标签

Struts2标签库

Struts2的标签库——使用Struts2的标签库

struts 标签库注解

struts2标签库

Struts(十三):通用标签