ognl 对象图导航语言
Object-Graph-Navigation Language
引入标签库: <%@taglib uti="/struts-tags" prefix=“s” %>
值栈信息,调试标签:<s:debug></s:debug>
<s:property value=“stu.id”/>
//取值标签 对象.属性(Action要有get,set方法)
<s:property value="#request.stu.name"/>
取request里的值
<s:iterator begin=“1” end=“100” step=“1” var=“i” value="#request.stu.list">
<s:iterator value="#i.name"/>
</s:iterator>
<s:if test=“条件”></s:if>
<s:else if test=“条件”></s:else if>
<s:else></s:else>
实例-----------------------------------------------------------------------------
<!-- struts的调试标签 所展示的是值栈信息 ognl表达式的作用 获取值栈的数据 -->
通过ognl获取action中的普通属性:<s:property value="uname"/><br/>
通过ognl获取action中的对象属性:<s:property value="stu"/><br/>
通过ognl获取action中的对象属性中的属性(通过属性名称):<s:property value="stu.uname"/><br/>
通过ognl获取action中的对象属性中的属性(通过调用方法):<s:property value="stu.getUname()"/><br/>
通过ognl获取action中的对象属性中的对象:<s:property value="stu.dog"/><br/>
通过ognl获取action中的对象属性中的对象的属性(调用属性名称):<s:property value="stu.dog.dname"/><br/>
通过ognl获取action中的对象属性中的对象的属性(调用方法):<s:property value="stu.getDog().getDname()"/><br/>
<!-- 通过ognl调用action中的普通方法 -->
通过ognl调用action中的普通方法:<s:property value="getSum(10,11)"/><br/>
通过ognl调用action中的静态方法:<s:property value="@com.sw.action.OgnlAction@sayHello()"/><br/>
通过ognl调用action中的静态属性:<s:property value="@com.sw.action.OgnlAction@sum"/><br/>
通过ognl调用API中的静态属性:<s:property value="@@PI"/><br/>
通过ognl调用API中的静态方法:<s:property value="@@max(10,18)"/><br/>
<!-- 通过ognl获取作用域中的List集合 -->
通过ognl获取集合中的所有对象:<s:property value="#request.list"/><br/>
通过ognl获取集合中的所有对象的某一个属性:<s:property value="#request.list.{uname}"/><br/>
通过ognl获取集合中的所有对象中的某一个对象:<s:property value="#request.list[0]"/><br/>
通过ognl获取集合中的所有对象中的中狗的对象:<s:property value="#request.list.{dog}[0].dname"/>
<!-- 使用ognl遍历对象中的某个属性 -->
<s:iterator value="#request.list.{dog}" var="li">
<s:property value="#li.dname"/>
</s:iterator><br/>
<!-- 通过ognl获取作用域中的set集合 -->
通过ognl获取集合中的所有对象:<s:property value="#request.set"/><br/>
通过ognl获取集合中的中的某一个对象:<s:property value="#request.set.iterator().next()"/><br/>
通过ognl获取集合中的中的所有对象的某一个属性:<s:property value="#request.set.{uname}[0]"/>
<s:iterator value="#request.set" var="set">
<s:property value="#set.dog.dname"/>
</s:iterator><br/>
<!-- 通过ognl获取作用域中的map集合 -->
通过ognl获取集合中的所有对象:<s:property value="#request.map"/><br/>
通过ognl获取集合中的所有的键:<s:property value="#request.map.keySet()"/><br/>
通过ognl获取集合中的所有的值:<s:property value="#request.map.values().{dog}.{dname}"/><br/>
<s:iterator value="#request.map.values()" var="map">
<s:property value="#map.uname"/>
</s:iterator>
<%-- <select>
<option value="">aaa</option>
</select> --%>
<!-- 下拉菜单
list:保存数据的集合
listKey:下拉列表的value
listValue:下拉列表的文本内容
name="stu.pid"
-->
<s:form action="ognlAction_add.action" method="post">
<s:select name="stu.pid" list="#request.province" listKey="pid" listValue="pname"></s:select>
<!-- 复选框 -->
<s:checkboxlist name="stu.hobby" list="#request.hobbies" listKey="hid" listValue="hname"></s:checkboxlist><br/>
<s:radio name="stu.sex" list="#request.province" listKey="pid" listValue="pname"></s:radio>
<input type="submit" value="提交">
</s:form>
<s:debug></s:debug>