<li>1。访问值栈中的action的普通属性: username = <s:property value="username"/> </li>
<li>2. 访问值栈中对象的普通属性(get set方法):<s:property value="user.age"/> | <s:property value="user['age']"/> | <s:property value="user[\"age\"]"/> | wrong: <%--<s:property value="user[age]"/>--%></li>
<li>3。访问值栈中对象的普通属性(get set方法): <s:property value="cat.friend.name"/></li>
<li>4。访问值栈中对象的普通方法:<s:property value="password.length()"/></li>
<li>5. 访问值栈中对象的普通方法:<s:property value="cat.miaomiao()" /></li>
<li>6. 访问值栈中action的普通方法:<s:property value="m()" /></li>
<hr />
<li>7. 访问静态方法:<s:property value="@com.bjsxt.struts2.ognl.S@s()"/></li>
<li>8. 访问静态属性:<s:property value="@com.bjsxt.struts2.ognl.S@STR"/></li>
<li>9. 访问Math类的静态方法:<s:property value="@@max(2,3)" /></li>
<hr />
<li>10. 访问普通类的构造方法:<s:property value="new com.bjsxt.struts2.ognl.User(8)"/></li>
<hr />
<li>11. 访问List:<s:property value="users"/></li>
<li>12. 访问List中某个元素:<s:property value="users[1]"/></li>
<li>13. 访问List中元素某个属性的集合:<s:property value="users.{age}"/></li>
<li>14. 访问List中元素某个属性的集合中的特定值:<s:property value="users.{age}[0]"/> | <s:property value="users[0].age"/></li>
<li>15.访问Set:<s:property value="dogs"/></li>
<li>16.访问Set中某个元素:<s:property value="dogs[1]"/></li>
<li>17.访问Map:<s:property value="dogMap"/></li>
<li>18.访问Map中某个元素:<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/></li>
<li>19.访问Map中所有的key:<s:property value="dogMap.keys"/></li>
<li>20.访问Map中所有的value:<s:property value="dogMap.values"/></li>
<li>21.访问容器的大小:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> </li>
<hr />
<li>22.投影(过滤):<s:property value="users.{?#this.age==1}[0]"/></li>
<li>23.投影:<s:property value="users.{^#this.age>1}.{age}"/></li>
<li>24.投影:<s:property value="users.{$#this.age>1}.{age}"/></li>
<li>25.投影:<s:property value="users.{$#this.age>1}.{age} == null"/></li>
<hr />
<li>26.[]:<s:property value="[0].username"/></li>
分享到:
相关推荐
`<s:if>` 标签依赖于 Struts2 提供的强大表达式语言——OGNL(Object-Graph Navigation Language),该语言可以方便地访问 JavaBean 对象属性。 #### OGNL 表达式与 ValueStack OGNL 是一种强大的表达式语言,它...
在Struts2框架中,`<sx:>`标签是Struts2 XWork库的一部分,用于增强JSP页面的功能,提供更强大的数据绑定和表单处理能力。本篇将重点讲解如何利用`sx:`标签实现组合查询和带分页功能。 首先,让我们了解下Struts2的...
在这个主题中,我们将深入探讨OGNL(Object-Graph Navigation Language)以及如何通过`<s:property>`标签来访问Struts2中的值栈(Value Stack)。值栈是Struts2中一个核心的概念,它是一个存储用户请求数据和应用...
<td><s:property value="name" /></td> <td><s:property value="age" /></td> <!-- 其他列 --> </tr> </s:if> <s:else> <!-- 如果不满足条件,可以在这里放置其他内容或者不放任何内容 --> </s:else> </s:...
1. 访问值栈中action的普通属性:<s:property value="username"/> 2. 访问值栈中对象的普通属性:<s:property value="student.age"/> 3. 访问值栈中对象(对象包含对象)的普通属性:<s:property value="cat.friend....
<s:property value="@com.bjsxt.struts2.ognl.S@s()"/> 这将调用 com.bjsxt.struts2.ognl.S 类的静态方法 s()。 四、访问 ValueStack 中的 List OGNL 也可以访问 ValueStack 中的 List,例如: <s:property ...
在Struts框架中,`<s:checkboxlist>`是一个非常实用的标签,用于在HTML表单中创建一组复选框,通常用于用户选择多个选项。本文将深入探讨如何巧妙地处理`checkboxlist`的默认选中值以及实现换行显示。 首先,我们...
<s:property value="%{#valueStack.someProperty}" /> ``` 这里,`%{}`是Struts 2提供的特殊语法,用于表示OGNL表达式。`#valueStack`即为当前的值栈对象,`someProperty`是该对象的一个属性。 之所以能这样访问,...
除了属性访问,OGNL还支持动态方法调用,如`<s:property value="%{user.getName()}" />`。这允许我们在不改变视图层代码的情况下添加新的方法。 **6. 输入流处理与`inputStream`标签** 在Struts2中,`inputStream`...
Struts 2中,`<s:property>`标签替代了`<write>`,提供了更丰富的功能,而逻辑控制则更多地通过Java EL(Expression Language)和OGNL(Object-Graph Navigation Language)来实现。 总的来说,`<write>`和`<logic>...
<li><s:property value="key" />: <s:property value="value[0]" /></li> </s:iterator> </ul> </s:if> </body> </html> ``` 在这个例子中,`s:textfield`标签通过OGNL自动将表单字段与`RegistrationAction`中...
<s:if test="#st.isEven()">现在的索引是偶数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 4. **遍历 Map** `value` 可以直接设置为一个 JSON 样式...
### property用法详解 在Java Web开发中,特别是使用Struts2框架时,`property`标签是处理...以上是`<s:property>`标签及其OGNL表达式的高级用法概述。通过熟练掌握这些技巧,开发者可以更高效地进行数据展示和处理。
现在的索引是偶数为:<s:property value="#st.index"/> </s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 3. **遍历Map** - `s:iterator`可以直接迭代Map对象,其中`value`属性可以是键值对...
<s:property value="@com.bjsxt.struts2.ognl.S@s()"/> ``` 这里展示了如何调用类`com.bjsxt.struts2.ognl.S`中的静态方法`s()`。 **2. 访问静态属性** ```html <s:property value="@...
<s:property value="key"/>-><s:property value="value"/> <br/> </s:iterator> ``` ### 4. 使用 OGNL 进行条件判断 OGNL 支持进行条件判断。例如,可以使用 `<s:if>` 标签来判断某个值是否包含在另一个集合中,...
<p>名称:<s:property value="name"/></p> </s:iterator> ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`<s:label>`** - 显示标签。 - **示例**: ```jsp <s:label value=...
如果要访问静态属性,首先需要在Struts2的配置中开启对静态属性的访问,例如:`struts.ognl.allowStaticMethodAccess=true`,然后使用`<s:property value="@com.softeem.LoginAction@attrName"/>`来获取。...
2. **条件判断与循环**:利用OGNL,可以在Struts2的标签库中实现复杂的逻辑处理,比如`<s:if test="someCondition">...</s:if>`这样的条件判断语句。 3. **动态方法调用**:OGNL支持静态方法的调用,这使得开发者...
- `<s:property>`:用于显示对象的属性值,如`<s:property value="user.name" />`。 - `<s:set>`:用于设置变量,如`<s:set var="myVar" value="user.name" />`。 - `<s:if>`和`<s:else>`:基于OGNL表达式的条件...