码迷,mamicode.com
首页 > 其他好文 > 详细

struts2中ognl标签详解

时间:2014-07-10 20:49:03      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:struts2中ognl标签详解

 <body>
  
    <s:set name="age" value="61" />
    <!-- if elseif else 参数test:决定标志里的内容是否显示的表达式,类型boolean 注:else标志没有这个参数 -->
    <h3>if语句</h3>
    <s:if test="{age>60}">
    	老年人
    </s:if>
    <s:elseif test="{age>35}">
    	中年人
    </s:elseif>
    <s:elseif test="{age>15}">
    	青年人
    </s:elseif>
    <s:else>
    	少年
    </s:else>
    <br />
    <s:iterator value="{'11','21','31','41','51'}"  id='number' var="number2">
    	<s:property value="#number"/>A
    	<s:property value="#number2"/>B
    </s:iterator>
    <br />
    <!-- 
    	status:迭代元素的索引,可以指定first、count、even、odd、last、index属性
    	begin:从指定的索引处开始
    	end:到指定的索引处结束
    	step:一次遍历几次
    
     -->
     <h3>iterator语句</h3>
    <s:iterator value="{'a','b','c','d'}" id="char" status="st" begin="1" end="3" step="2" >
    	<s:if test="#st.first">第一个元素:<s:property value="#char" /></s:if>
    	<s:if test="#st.count">当前迭代了<s:property value="#st.count" />个元素</s:if>
    	<s:if test="#st.even">索引为奇数的是:<s:property value="#char" /></s:if>
    	<s:if test="#st.odd">索引为偶数的是:<s:property value="#char"/></s:if>
    	<s:if test="#st.last">最后一个元素:<s:property value="#char" /></s:if>
    	当前索引:<s:property value="#st.index" />
    	当前元素值:<c:out value="${char}"></c:out>
    	<br />
    </s:iterator>
    <br />
    <h3>map语句</h3>
    <s:set value="#{'1':'a','2':'b'}" name="map" />
	map中键为1的值为:<s:property value="#map['1']" />
	<br />
	map中键为2的值为:<s:property value="#map['2']" />
	<br />
    <s:iterator value="#map" var="map2">
    	key:<s:property value="key" />
    	value:<s:property value="value" />
    </s:iterator>
    <br />
    <%
    	request.setAttribute("req","request scope") ;
    	request.getSession().setAttribute("sess","session scope") ;
    	request.getSession().getServletContext().setAttribute("app","application scope") ;
    %>
    <h3>取request、session、application值</h3>
    request的值:<s:property value="%{#request.req}" /><br />
    session的值:<s:property value="#session.sess" /><br />
    application的值:<s:property value="#application.app" /><br />
    <c:out value="${requestScope.req}"></c:out>
    
    <h3>%符号的用法</h3>
     <s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />    
    
    <p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>    
    
    <p>不使用%:<s:url value="#foobar['foo1']" /></p>    
    
    <p>使用%:<s:url value="%{#foobar['foo1']}" /></p>    
    <h3>逻辑判断</h3>
    <br>    
        <s:if test="'aa' in {'aaa','bbb'}">    
            aa 在 集合{'aaa','bbb'}中;    
        </s:if>    
        <s:else>    
            aa 不在 集合{'aaa','bbb'}中;    
        </s:else>    
        <br />    
         <s:set name="list" value="{'eeeee','ddddd','ccccc','bbbbb','request scope'}"></s:set> 
        <s:if test="#request.req not in #list">    
             	   不 在 集合list中;    
        </s:if>    
        <s:else>    
          	   在 集合list中;    
        </s:else>    
        <br />    
        <hr>
        <h3>返回集合中满足条件的值,下面输出3 4 5</h3>
        <s:set name="list1" value="{1,2,3,4,5}" />
        <s:iterator value="#list1.{?#this>2}" var="o">
        	<s:property />
        </s:iterator>
        <br />
        <hr />
         <% request.setAttribute("aa",0); %>    
        <s:if test="#request.aa>=0 && #request.aa<=4">    
             	   在0-4之间;    
        </s:if>    
        <s:elseif test="#request.aa>=4 && #request.aa<=8">    
               	 在4-8之间;    
        </s:elseif>    
        <s:else>    
         	    大于8;    
        </s:else>    
        <br>    
        <hr>    
        <!--输出以下结果 
        	/test/aa/bb/testAction.action?aa=sss&id=100 
            value以字符处理: #myurl
            value明确指定以ognl表达式处理: http://www.baidu.com 	
         -->
        <% request.setAttribute("aa","sss"); %>    
        <s:url action="testAction" namespace="/aa/bb">    
            <s:param name="aa" value="#request.aa"></s:param>    
            <s:param name="id">100</s:param>    
        </s:url>    
        <br/>    
        <s:set name="myurl" value="'http://www.baidu.com'"></s:set>    
        value以字符处理:   <s:url value="#myurl"></s:url><br>    
        value明确指定以ognl表达式处理:    <s:url value="%{#myurl}"></s:url>    
        <br>    
        <hr>    
         <s:checkboxlist name="checkbox1" list="{'上网','看书','爬山','游泳','唱歌'}" value="{'上网','看书'}" ></s:checkboxlist><br />
         <s:checkboxlist name="checkbox2" list="#{1:'上网',2:'看书',3:'爬山',4:'游泳',5:'唱歌'}" listKey="key" listValue="value" value="{1,2,5}" ></s:checkboxlist>  
    <s:debug></s:debug>
    
  </body>
<span style="font-size:32px;">输出结果为:</span>
<span style="font-size:10px; font-family: Arial, Helvetica, sans-serif;">if语句</span><span style="font-size:10px;"></span><pre name="code" class="html">
老年人 
A 11B A 21B A 31B A 41B A 51B 
iterator语句

第一个元素:b 当前迭代了1个元素 索引为偶数的是:b 当前索引:0 当前元素值:b 
当前迭代了2个元素 索引为奇数的是:d 最后一个元素:d 当前索引:1 当前元素值:d 

map语句

map中键为1的值为:a 
map中键为2的值为:b 
key:1 value:a key:2 value:b 
取request、session、application值

request的值:request scope
session的值:session scope
application的值:application scope
request scope
%符号的用法

The value of key "foo1" is bar1

不使用%:#foobar['foo1']

使用%:bar1

逻辑判断


aa 不在 集合{'aaa','bbb'}中; 
在 集合list中; 
返回集合中满足条件的值,下面输出3 4 5

3 4 5 
在0-4之间; 
/test/aa/bb/testAction.action?aa=sss&id=100 
value以字符处理: #myurl
value明确指定以ognl表达式处理: http://www.baidu.com 
 上网  看书  爬山  游泳  唱歌 
 上网  看书  爬山  游泳  唱歌
[Debug]

struts2中ognl标签详解,布布扣,bubuko.com

struts2中ognl标签详解

标签:struts2中ognl标签详解

原文地址:http://blog.csdn.net/benjamin_whx/article/details/37656161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!