Ognl

Ognl_第1张图片

Property(获取数据)
 <!-- 默认对标签进行转义,可以自己设置不转义 -->
 <s:property value="'<br>tom'" escape="false"/> 
iterator(迭代器)
<s:iterator value="userlist" var="f" status="stu">
  <tr>
  		<!-- 必须加上#  要不然获取不到数据 -->
  		<td> <s:property value="#stu.even"/> </td>
  		<td> <s:property value="#stu.count"/> </td>
  		<td> <s:property value="#stu.index"/> </td>
  		<td> <s:property value="#f.name"/> </td>
  		<td> <s:property value="#f.password"/> </td>				 
  	</tr>
</s:iterator>

ifelse(判断数据)
<s:if test="#u.age < 23">少年</s:if>
<s:elseif test="#u.age > 27">老年</s:elseif>
<s:else>中年</s:else>

url(链接)
<s:url action="OgnlAction_reg" namespace="/ognl" var="myurl">
  	<!-- 可以在这里用parma标签增加传递过去的参数 -->
</s:url>

<!-- 自己通过scope或者默认存放的数据都要用到#来获取 -->
<!-- 配置一个用来使用的连接 -->
<a href=' <s:property value="#myurl" /> '>myUrl</a>
<!-- 获取当前访问的连接 -->
<s:url/></br>
<!-- 获取包含所有参数的当前访问的连接 -->
<s:url includeParams="all" var="u" />
<!-- 显示连接 -->
<s:property value="u"/>

i18n(国际化)
<s:i18n name="com.hstc.action.RegAction_zh">
  			
 <!-- key可以代替label    直接获取属性文件中name对应的属性值 -->
 <!-- 使用的是国际化指定的属性文件中对应的值 -->
 <s:textfield name="label.name" key="label.name"></s:textfield>
 <!-- 这个标签获取name对应的标签值并且保存起来使用 -->
 <s:text name="label.name" var="mytext"></s:text>
 <!-- 这里是保存在var里面   加不加#都可以 -->
 <s:property value="mytext"/>
 </s:i18n>
ognl直接操作array和list的方法
<s:property value="userlist.size"/><br/>
<s:property value="userlist.isEmpty"/>


ognl可以定义集合
List集合:
<s:iterator value="{'a','b','c','d'}">
  	abcd
  	<!-- 输出结果: abcd a abcd b abcd c abcd d -->
<!-- s:property 只是获取到迭代器当前迭代到的数据-->
  	<s:property/>
</s:iterator>
Map集合:
<s:iterator value="#{100:'a',200:'b',300:'c'}">
  <s:property/><br/>
  <!-- 这里没有保存起来,在标签内获取数据   不要加# -->
  key = <s:property value="key"/><br/>
  value =<s:property value="value"/> <br/>
</s:iterator>

直接在jsp页面调用action
<!-- 这个办法很不推荐使用 -->
<!-- executeResult指定要不要把结果页面渲染进来 -->
<s:action name="OgnlAction_showOgnl"
 namespace="/ognl" executeResult="true"/>



集合的投影
投影一些指定的属性
<s:iterator	value="userlist.{password}" >
  	<s:property /></br>
</s:iterator></br>

<!-- 获取集合单个数据的属性 -->
<s:property value="userlist[1].name" /></br>
调用普通函数
静态传参
<s:property value="helloWord('tom')"/></br>
动态传参
<s:property value="helloWord(#session.sessionName)"/></br>



你可能感兴趣的:(Ognl)