OGNL

  1. 什么是OGNL,OGNL原理  
  2.   
  3. 全称:Object Graphic Navigate Language  
  4.   
  5. 对象图导航语言  
  6.   
  7. Struts2默认使用OGNL作为表达式语言  
  8.   
  9. OGNL是一个早期开源的项目,可以具有以下功能:  
  10.   
  11. 获取,设置对象属性  
  12.   
  13. 调用对象方法  
  14.   
  15. 调用静态方法和属性  
  16.   
  17. 对集合进行过滤和投影  
  18.   
  19.    
  20.   
  21. 使用:  
  22.   
  23. <%@taglib uri="/struts-tags" prefix="s"  %>  
  24.   
  25.    
  26.   
  27. 获取Action属性值  
  28.   
  29. name:<s:property value="name" /><br/>  
  30.   
  31. psw:<s:property value="psw"/><br/>  
  32.   
  33. name.length():<s:property value="name.length()"/><br/>  
  34.   
  35. request.name:<s:property value="#request.name" ></s:property><br/>  
  36.   
  37. request.abc:<s:property value="#request.abc" ></s:property><br/>  
  38.   
  39. session.abc:<s:property value="#session.abc" ></s:property><br/>  
  40.   
  41. application.abc:<s:property value="#application.abc" ></s:property><br/>  
  42.   
  43.    
  44.   
  45. birth:<s:property value="birth"/><br/>    
  46.   
  47. birth:<s:date name="birth"/><br/>  
  48.   
  49. birth:<s:date name="birth" format="yyyy-MM-dd"/><br/>  
  50.   
  51. set,age:<s:set var="age" value="20"></s:set><br/>  
  52.   
  53. #age:<s:property value="#age"/><br/>  
  54.   
  55. <s:push value="10000"></s:push>  
  56.   
  57. <s:push value="'abcdef'">  
  58.   
  59.        <%-- 压入栈顶中,在</s:push>后移除。 --%>  
  60.   
  61.  <s:debug></s:debug>  
  62.   
  63. </s:push>  
  64.   
  65.    
  66.   
  67.    
  68.   
  69. <s:if test='sex.equals("m")'></s:if>  
  70.   
  71. <s:elseif test='sex.equals("f")'></s:elseif>  
  72.   
  73. <s:else>not M not F</s:else>  
  74.   
  75. <br/>  
  76.   
  77. <table width="40%" style="font-size: 25px;" >  
  78.   
  79.        <tr>  
  80.   
  81.               <td>No</td><td>PNo</td><td>Name</td><td>Sex</td><td>Age</td>  
  82.   
  83.        </tr>  
  84.   
  85.        <s:iterator value="persons" var="p" status="sta">  
  86.   
  87.               <tr>  
  88.   
  89.                      <%--  
  90.   
  91.                      <td><s:property value="#sta.index+1"/></td>  
  92.   
  93.                      <td><s:property value="#sta.count"/></td>  
  94.   
  95.                      <td><s:property value="#sta.first"/></td>  
  96.   
  97.                      <td><s:property value="#sta.even"/></td>  
  98.   
  99.                      --%>  
  100.   
  101.                      <td><s:property value="#sta.odd"/></td>  
  102.   
  103.                      <td><s:property value="#p.no"/></td>  
  104.   
  105.                      <td>${p.name }</td>  
  106.   
  107.                      <td><s:property value="#p.sex"/></td>  
  108.   
  109.                      <td><s:property value="#p.age"/></td>  
  110.   
  111.               </tr>  
  112.   
  113.        </s:iterator>  
  114.   
  115. </table>  
  116.   
  117. <br/>  
  118.   
  119. <table  width="40%" style="font-size: 25px;">  
  120.   
  121.        <tr>  
  122.   
  123.               <td>No</td><td>Name</td><td>Sex</td><td>Age</td>  
  124.   
  125.        </tr>  
  126.   
  127.  <s:iterator value="persons">  
  128.   
  129.        <tr>  
  130.   
  131.               <td><s:property value="no"/></td>  
  132.   
  133.               <td><s:property value="name"/></td>  
  134.   
  135.               <td><s:property value="sex"/></td>  
  136.   
  137.               <td><s:property value="age"/></td>  
  138.   
  139.        </tr>  
  140.   
  141.  </s:iterator>  
  142.   
  143. </table>  
  144.   
  145.    
  146.   
  147. <s:form action="form">  
  148.   
  149. <s:textfield label="姓名" name="name" labelposition="left"></s:textfield>  
  150.   
  151. <s:password label="密码" name="psw"  showPassword="true"></s:password>  
  152.   
  153. <s:textarea label="介绍" name="name"></s:textarea>  
  154.   
  155. <s:checkbox label="是否同意" name="yes_no"></s:checkbox>  
  156.   
  157. <s:submit value="提交"></s:submit>  
  158.   
  159. <s:reset value="重置"></s:reset>  
  160.   
  161. </s:form>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值