ognl el表达式 property

<s:iterator value="list" status="statu" var="alarminfo">
  <tr>
    <c:if test="${SessionAcltype=='2'}">
       <td>
         <input name="selectedID" type="checkbox" value="<s:property value="#statu.index + 1" />" onclick="ChkSonClick('selectedID','chkAll')">
       </td>
     </c:if>
    <td>
         <s:property value="%{#statu.index + 1+(#request.pageBean.currentPage - 1) * #request.pageBean.pageSize}"/>
       </td>
       <td>
         <s:property value="servinfo.cityName"/>
       </td>
       <td>
         <s:property value="servinfo.maintainerName"/>
      </td>
       <td>
           <s:property value="servinfo.maintainerEmail"/>
       </td>
</tr> </s:iterator>
<s:iterator value="list" status="statu" var="alarminfo">
首先说这一句,value应该是%{#request.list},%{}用来计算其中表达式的值,写成%{request.list}不正确,因为需要#,
取到actionContext。
直接写#request.list也是正确的。就是不再需要%{}用来保证了。
直接写list也是正确的。因为默认从actionContext的request当中取到。

<s:property value="servinfo.maintainerName"/>
获取属性,或者调用方法都是可以的。获取属性主要是属性名,不带get、set的,如果是方法名,带get,set
如果放在迭代器中,默认取当前栈的值。参见百度百科。


还有一个东西${}也可以用来获取属性,这个叫做el表达式
el表达式也可以用来存取变量的数据,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
posted @ 2013-10-15 12:11  yufenghou  阅读(399)  评论(0编辑  收藏  举报