Struts2OGNl标签

property标签

property标签用于输出指定值:

<s:property value=“#name" default="a default value" />     

    * default:可选属性, 如果需要输出的属性值为null,则显示该属性指定的值

    *  escape:可选属性,指定是否格式化HTML代码。 escape=“false”,hr作为html标签使用

    *  value:  可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输

                                           ValueStack栈顶的值。

例子:

     <s:property  value="#request.username"/>:输出栈顶的值

            输出: username=username_valueStack, msgxx=msg_valueStack

     <s:property  value="#request.username111"default="default value"/>

   <s:propertyvalue="%{'<hr>hr的使用'}"  escape="false"  />

            输出:<hr> hr的使用

            :escape=“false”,hr作为html标签使用

set标签

set标签用于将某个值放入指定范围。

      var:变量的名字,name,idvar表达的含义是一样的,name,idvar替代

       scope:指定变量被放置的范围,该属性可以接受applicationsessionrequest page

                      action。如果没有设置该属性,则默认放置在action中。

       value:赋给变量的值.如果没有设置该属性,则将ValueStack栈顶的值赋给变量。



例子:

      <s:set value="#request.usernamevar="xxx“ scope=“request”/><br>

      <s:propertyvalue=“#request.xxx"/><br>

      

      <s:set value="#request.usernamevar="xxx" scope="page"/><br>

      <s:propertyvalue="#attr.xxx"/><br>

      <s:set value="#request.usernamevar="xxx" /><br>

      <s:propertyvalue="xxx" /><br>

    

push标签

push:将对象放入栈顶,不能放入其他范围,当标签结束,会从栈顶删除。

     value:push到堆栈中的值

例子:    

   <s:pushvalue="#request.username">

           <s:property/>

     </s:push>

     <br>

     测试删除: <s:property/>

    

bean标签(了解)

bean标签:实例化一个符合JavaBeans规范的class,标签体内可以包含几个Param元素,

                  用于调用setter方法给此class的属性赋值.

       name:要被实例化的class名字(必须符合JavaBeans规范)

       var赋给变量的值.放置在request作用域中

                 如果没有设置该属性,则对象被放置到栈顶

例子:

<s:bean  name="cn.itcast.bean.Person"var="myperson">

       <s:param name="name"value="%{'zhang'}"></s:param>

       <s:param name="age"value="34"></s:param>

</s:bean><br>

<s:propertyvalue="#myperson.name"/>



 action标签

Action:通过指定命名空间和action名称,该标签允许在jsp页面直接调用Action

       name:action名字(不包括后缀,.action)

       namespace:action所在命名空间

       executeResult:Actionresult是否需要被执行,默认值是false不执行

例子:

<packagename="ognl"   namespace="/ognl"extends="struts-default" >

        <action name="ognlAction_*"class="cn.itcast.ognl.OgnlAction"method="{1}">

           <result name="ognl">/ognl/ongl.jsp?msg=${msgxx}</result>

        </action>  

 </package>  

<s:actionname="ognlAction_test"namespace="/ognl"executeResult="true"/>

    

iterator标签


Iterator:标签用于对集合进行迭代,这里的集合包含ListSet和数组。

value:可选属性,指定被迭代的集合,如果没有设置该属性,则使用ValueStack栈顶的集合。

var:   可选属性,引用变量的名称.

status:可选属性,该属性指定迭代时的IteratorStatus实例。该实例包含如下几个方法:

  intgetCount(),返回当前迭代了几个元素。

  intgetIndex(),返回当前迭代元素的索引。

  booleanisEven(),返回当前被迭代元素的索引是否是偶数

  booleanisOdd(),返回当前被迭代元素的索引是否是奇数

  booleanisFirst(),返回当前被迭代元素是否是第一个元素。

  booleanisLast(),返回当前被迭代元素是否是最后一个元素。


<s:iteratorvalue="%{#request.persons}"var="person">

   <s:property value="#person"/><br>

</s:iterator>

<s:iteratorvalue="%{#request.persons}"var="person">

   <s:propertyvalue="#person.id"/>~<s:propertyvalue="#person.name"/>~<s:property value="#person.age"/>

</s:iterator>



<style type="text/css"

  .odd{

           background-color: red;

  .even{

           background-color:blue;}

 </style>


<s:iteratorvalue="%{#request.persons}" var="person"status="st">

   返回当前迭代了几个元素. <s:propertyvalue="#st.count"/><br>

   返回当前迭代元素的索引.<s:propertyvalue="#st.index"/><br>

   返回当前被迭代元素的索引是否是偶数.<s:propertyvalue="#st.even"/><br>

   返回当前被迭代元素的索引是否是奇数.<s:propertyvalue="#st.odd"/><br>

   返回当前被迭代元素是否是第一个元素.<s:propertyvalue="#st.first"/><br>

   返回当前被迭代元素是否是最后一个元素.<s:propertyvalue="#st.last"/><br><br>

</s:iterator>   

<tableborder="1">

   <s:iteratorvalue="%{#request.persons}" var="person"status="st">

      <tr class="<s:propertyvalue="#st.even?'evenClass':'oddClass'"/>">

         <td><s:propertyvalue="#person.id"/></td>

         <td><s:propertyvalue="#person.name"/></td>

         <td><s:propertyvalue="#person.age"/></td>

      </tr>

   </s:iterator> 

</table>


if/elseif/else标签

if/elseif/else  基本的流程控制.‘If’标签可单独使用也可以和‘Else If’标签和()一个多个‘Else’一起使用

<s:if test="#age==23">

  23

</s:if>

<s:elseif test="#age==21">

  21

</s:elseif>

<s:else>

  都不等

</s:else>

<tableborder="1">

   <s:iterator value="%{#request.persons}"var="person"status="st">

      <tr class="<s:propertyvalue="#st.even?'evenClass':'oddClass'"/>">

         <td><s:propertyvalue="#person.id"/></td>

         <td><s:propertyvalue="#person.name"/></td>

         <td><s:propertyvalue="#person.age"/></td>

         <td><s:iftest="#person.age<24">少年</s:if>

         <s:elseif test="#person.age<26">中年</s:elseif>

         <s:else>老年</s:else></td>

      </tr>

   </s:iterator

</table>





url标签

url:该标签用于创建url,可以通过"param"标签提供request参数.

    value:如果不提供就用当前action,使用value后缀必须加.action

    action:用来生成urlaction,如果没有则使用value

    namespace :命名空间

    var:引用变量的名称.

    使用action<br>

    <s:urlaction="ognlTagAction_test"namespace="/ognl"var="myurl">

         <s:param name="name" value="%{'张老师'}"></s:param>

         <s:param name="id"value="12"></s:param>

    </s:url>

    <a href='<s:property value="#myurl"/>' >xxxx</a><br>

    <a href='<s:property value="%{#myurl}"/>' >xxxx</a><br>

   

    使用value<br>

    <s:urlvalue="ognlTagAction_test.action"namespace="/ognl"var="myurl">

         <s:param name="id"value="12"></s:param>

         <s:param name="cnname"value="%{'zhang'}"></s:param>

    </s:url>

    <a href='<s:property value="#myurl"/>' >xxxx</a><br>



ognl操作集合









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值