struts2中ognl标签详解

[html] view plain copy

 print?

  1. <body>  
  2.    
  3.    <s:set name="age" value="61" />  
  4.    <!-- if elseif else 参数test:决定标志里的内容是否显示的表达式,类型boolean 注:else标志没有这个参数 -->  
  5.    <h3>if语句</h3>  
  6.    <s:if test="{age>60}">  
  7.     老年人  
  8.    </s:if>  
  9.    <s:elseif test="{age>35}">  
  10.     中年人  
  11.    </s:elseif>  
  12.    <s:elseif test="{age>15}">  
  13.     青年人  
  14.    </s:elseif>  
  15.    <s:else>  
  16.     少年  
  17.    </s:else>  
  18.    <br />  
  19.    <s:iterator value="{'11','21','31','41','51'}"  id='number' var="number2">  
  20.     <s:property value="#number"/>A  
  21.     <s:property value="#number2"/>B  
  22.    </s:iterator>  
  23.    <br />  
  24.    <!--   
  25.     status:迭代元素的索引,可以指定first、count、even、odd、last、index属性  
  26.     begin:从指定的索引处开始  
  27.     end:到指定的索引处结束  
  28.     step:一次遍历几次  
  29.      
  30.     -->  
  31.     <h3>iterator语句</h3>  
  32.    <s:iterator value="{'a','b','c','d'}" id="char" status="st" begin="1" end="3" step="2" >  
  33.     <s:if test="#st.first">第一个元素:<s:property value="#char" /></s:if>  
  34.     <s:if test="#st.count">当前迭代了<s:property value="#st.count" />个元素</s:if>  
  35.     <s:if test="#st.even">索引为奇数的是:<s:property value="#char" /></s:if>  
  36.     <s:if test="#st.odd">索引为偶数的是:<s:property value="#char"/></s:if>  
  37.     <s:if test="#st.last">最后一个元素:<s:property value="#char" /></s:if>  
  38.     当前索引:<s:property value="#st.index" />  
  39.     当前元素值:<c:out value="${char}"></c:out>  
  40.     <br />  
  41.    </s:iterator>  
  42.    <br />  
  43.    <h3>map语句</h3>  
  44.    <s:set value="#{'1':'a','2':'b'}" name="map" />  
  45. map中键为1的值为:<s:property value="#map['1']" />  
  46. <br />  
  47. map中键为2的值为:<s:property value="#map['2']" />  
  48. <br />  
  49.    <s:iterator value="#map" var="map2">  
  50.     key:<s:property value="key" />  
  51.     value:<s:property value="value" />  
  52.    </s:iterator>  
  53.    <br />  
  54.    <%  
  55.     request.setAttribute("req","request scope") ;  
  56.     request.getSession().setAttribute("sess","session scope") ;  
  57.     request.getSession().getServletContext().setAttribute("app","application scope") ;  
  58.    %>  
  59.    <h3>取request、session、application值</h3>  
  60.    request的值:<s:property value="%{#request.req}" /><br />  
  61.    session的值:<s:property value="#session.sess" /><br />  
  62.    application的值:<s:property value="#application.app" /><br />  
  63.    <c:out value="${requestScope.req}"></c:out>  
  64.      
  65.    <h3>%符号的用法</h3>  
  66.     <s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />      
  67.      
  68.    <p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>      
  69.      
  70.    <p>不使用%:<s:url value="#foobar['foo1']" /></p>      
  71.      
  72.    <p>使用%:<s:url value="%{#foobar['foo1']}" /></p>      
  73.    <h3>逻辑判断</h3>  
  74.    <br>      
  75.        <s:if test="'aa' in {'aaa','bbb'}">      
  76.            aa 在 集合{'aaa','bbb'}中;      
  77.        </s:if>      
  78.        <s:else>      
  79.            aa 不在 集合{'aaa','bbb'}中;      
  80.        </s:else>      
  81.        <br />      
  82.         <s:set name="list" value="{'eeeee','ddddd','ccccc','bbbbb','request scope'}"></s:set>   
  83.        <s:if test="#request.req not in #list">      
  84.                    不 在 集合list中;      
  85.        </s:if>      
  86.        <s:else>      
  87.                在 集合list中;      
  88.        </s:else>      
  89.        <br />      
  90.        <hr>  
  91.        <h3>返回集合中满足条件的值,下面输出3 4 5</h3>  
  92.        <s:set name="list1" value="{1,2,3,4,5}" />  
  93.        <s:iterator value="#list1.{?#this>2}" var="o">  
  94.         <s:property />  
  95.        </s:iterator>  
  96.        <br />  
  97.        <hr />  
  98.         <% request.setAttribute("aa",0); %>      
  99.        <s:if test="#request.aa>=0 && #request.aa<=4">      
  100.                    在0-4之间;      
  101.        </s:if>      
  102.        <s:elseif test="#request.aa>=4 && #request.aa<=8">      
  103.                  在4-8之间;      
  104.        </s:elseif>      
  105.        <s:else>      
  106.                 大于8;      
  107.        </s:else>      
  108.        <br>      
  109.        <hr>      
  110.        <!--输出以下结果   
  111.         /test/aa/bb/testAction.action?aa=sss&id=100   
  112.            value以字符处理: #myurl  
  113.            value明确指定以ognl表达式处理: http://www.baidu.com      
  114.         -->  
  115.        <% request.setAttribute("aa","sss"); %>      
  116.        <s:url action="testAction" namespace="/aa/bb">      
  117.            <s:param name="aa" value="#request.aa"></s:param>      
  118.            <s:param name="id">100</s:param>      
  119.        </s:url>      
  120.        <br/>      
  121.        <s:set name="myurl" value="'http://www.baidu.com'"></s:set>      
  122.        value以字符处理:   <s:url value="#myurl"></s:url><br>      
  123.        value明确指定以ognl表达式处理:    <s:url value="%{#myurl}"></s:url>      
  124.        <br>      
  125.        <hr>      
  126.         <s:checkboxlist name="checkbox1" list="{'上网','看书','爬山','游泳','唱歌'}" value="{'上网','看书'}" ></s:checkboxlist><br />  
  127.         <s:checkboxlist name="checkbox2" list="#{1:'上网',2:'看书',3:'爬山',4:'游泳',5:'唱歌'}" listKey="key" listValue="value" value="{1,2,5}" ></s:checkboxlist>    
  128.    <s:debug></s:debug>  
  129.      
  130.  </body>  

[html] view plain copy

 print?

  1. <span style="font-size:32px;">输出结果为:</span>  

[html] view plain copy

 print?

  1. <span style="font-size:10px; font-family: Arial, Helvetica, sans-serif;">if语句</span><span style="font-size:10px;"></span><pre name="code" class="html">  
  2. 老年人   
  3. A 11B A 21B A 31B A 41B A 51B   
  4. iterator语句  
  5.   
  6. 第一个元素:b 当前迭代了1个元素 索引为偶数的是:b 当前索引:0 当前元素值:b   
  7. 当前迭代了2个元素 索引为奇数的是:d 最后一个元素:d 当前索引:1 当前元素值:d   
  8.   
  9. map语句  
  10.   
  11. map中键为1的值为:a   
  12. map中键为2的值为:b   
  13. key:1 value:a key:2 value:b   
  14. 取request、session、application值  
  15.   
  16. request的值:request scope  
  17. session的值:session scope  
  18. application的值:application scope  
  19. request scope  
  20. %符号的用法  
  21.   
  22. The value of key "foo1" is bar1  
  23.   
  24. 不使用%:#foobar['foo1']  
  25.   
  26. 使用%:bar1  
  27.   
  28. 逻辑判断  
  29.   
  30.   
  31. aa 不在 集合{'aaa','bbb'}中;   
  32. 在 集合list中;   
  33. 返回集合中满足条件的值,下面输出3 4 5  
  34.   
  35. 3 4 5   
  36. 在0-4之间;   
  37. /test/aa/bb/testAction.action?aa=sss&id=100   
  38. value以字符处理: #myurl  
  39. value明确指定以ognl表达式处理: http://www.baidu.com   
  40.  上网  看书  爬山  游泳  唱歌   
  41.  上网  看书  爬山  游泳  唱歌  
  42. [Debug]  
时间: 2024-09-23 08:01:14

struts2中ognl标签详解的相关文章

struts2的ONGL标签详解--1

 刚过去的项目中使用了一把struts2.由于搭配jsp页面前台展示而不是我习惯的velocity,因此不免要学一下struts2中的ONGL标签...发现用起来还是很头疼的..经常搞不清楚%,#怎么用. 1.先解决最基础的温饱问题:如何把action中的值带到页面展示出来 (先定义一个action,有个username字段,假设value="song"想传递到页面上) public class Login extends ActionSupport ...{     private 

深入分析seo中Canonical标签详解

  Canonical(权威链接标记)是09年,Google,Yahoo及Microsoft三大seo/seo.html" target="_blank">搜索引擎联合推出了一个旨在减少重复内容的一个建议,并不是命令,也就是说这个标签搜索引擎可能不遵守.国内最大的中文搜索引擎百度也已经支持Canonical标签. 部分搜索引擎引入了Link的一个新属性Canonical.A页面声明B为权威链接,B声明C为权威网页,则搜索引擎会认为C是A和B共同的首选权威版本.此时Can

web.xml中dispatcher标签详解

一.概念(RequestDispatcher) RequestDispatcher提供两个方法forward和include区别 都表示要跳转到其他资源,不同的是,如果使用forward跳转则后面的response输出则不会执行,而用include来跳转,则include的servlet执行完后,再返回到原来的servlet执行response的输出(如果有). 如: servlet A RequestDispatcher disp = request.getRequestDispatcher(

HTML标签详解

详解 --  HTML标签详解HTML指令详解结构<html><head><title>标题<title></head><body>..........文件内容..........</body></html>1.文件标题<title>..........</title>2.文件更新--<meta> [1]10秒后自动更新一次 <meta http-equiv="

Meta标签详解

详解 引言 您的个人网站即使做得再精彩,在"浩瀚如海"的网络空间中,也如一叶扁舟不易为人发现,如何推广个人网站,人们首先想到的方法无外乎以下几种: ● 在搜索引擎中登录自己的个人网站 ● 在知名网站加入你个人网站的链接 ● 在论坛中发帖子宣传你的个人网站 很多人却忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧! META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部

html的meta标签详解

1  name=viewport <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> 1.width : 控制viewport的大小,可以指定一个值,如600, 或者特殊的值,如device-width为设备的宽度(单位为缩放为100%的CSS的像素) 2.height

网站优化步骤及meta标签详解

网站优化步骤及meta标签详解 1.title 2.keywords 3.description 4.网站内容优化 5.内部链接结构 6.外部链接 7.网站地图等等. 还有一个主要的meta主要说一下: meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用于网页的与中,meta 标签的用处很多.meta 的属性有两种:name和http-equiv.name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找.分类(目前几乎所有的搜索引擎都使用

jsp中自定义Taglib详解_JSP编程

一.自定义标签入门之无参数自定义标签 1.开发自定义标签类 当我们在JSP页面使用一个简单的标签时,底层实际上由标签处理类提供支持,从而可以使用简单的标签来封装复杂的功能,从而使团队更好地协作开发(能让美工人员更好地参与JSP页面的开发). 自定义标签类都必须继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,或者TagSupport除此之外,JSP自定义标签类还有如下要求. 如果标签类包含属性,每个属性都有对应的getter和setter方法. 重

Hibernate配置文件中映射元素详解

详解 本文中将讲述Hibernate的基本配置及配置文件的应用,这对于正确熟练使用Hibernate是相当关键的. 配置文件中映射元素详解 对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的代码如下. <?xml version="1.0"?><!--所有的XML映射文件都需要定义如下所示的DOCTYPE.Hibernate会先在它的类路径(c