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]