OGNL:Object Graph Navigation Language(对象图导航语言)
1,访问Action值栈中的普通属性:
<s:property value="attrName"/>
2,访问Action值栈中的对象属性(要有get set方法):
<s:property value="obj.attrName"/>
<s:property value="obj1.obj2.attrName"/>
4,访问值栈中action的普通方法:
<s:property value="methodName()"/>
9,访问集合:
①list集合对象
<s:property value="listName"/>
②list集合中的某个元素
<s:property value="listName[1]"/>
③list中某个属性的集合
<s:property value="listName.{field}"/>
④list中某个属性集合的特定值
<s:property value="listName.{field}[0]"/>
⑤访问set
<s:property value="setName"/>
⑥访问set中某个元素
<s:property value="setName[0]"/>
⑦访问map
<s:property value="mapName"/>
⑧根据key访问Map中的元素
<s:property value="mapName.username"/>
<s:property value="mapName['username']"/>
<s:property value="mapName[/"username/"]"/>
⑨访问map中所有的key
<s:property value="mapName.keys"/>
10,访问map中所有的values
<s:property value="mapName.values"/>
11,访问map的大小
<s:property value="mapName.size()"/>
---------------------------------------
访问action中传过来的对象:<s:property value="user"/>|${user }<br>
访问action中传过来的对象中的属性:<s:property value="user.username"/>|${user.username }<br>
访问action中传过来的对象中的对象:<s:property value="user.group"/><br>
访问list:<s:property value="users"/><br>
获取list的长度:<s:property value="users.size()"/><br>
取到list中第一个元素:<s:property value="users.get(0)"/>|<s:property value="users[1]"/><br>
取到list中username属性的集合:<s:property value="users.{username}"/><br>
根据key取到map中的元素:<s:property value="userMap.张三"/>|
<s:property value="userMap['三毛']"/><br>
⑨访问map中所有的key:<s:property value="userMap.keys"/><br>
10,访问map中所有的values:<s:property value="userMap.values"/><br>
11,访问map的大小:<s:property value="userMap.size()"/><br>
16,从栈顶开始取,一直取到指定的位置(0表示栈底):<s:property value="[1]"/>
<s:debug></s:debug>
分享到:
相关推荐
### Struts2 `<s:if>` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...
### `<s:if>`标签详解 `<s:if>`标签用于根据特定条件执行不同的HTML或JSP代码块。其基本语法为: ```xml <s:if test="expression"> // 条件为真时执行的代码 </s:if> ``` 其中,`test`属性指定一个布尔表达式,...
<s:property value="#bean.Index+1"/> </td> <td class="data_tab_tdcl"> <s:property value="link_title"/> </td> </tr> </s:iterator> ``` #### 四、总结 Struts2中的UI标签为开发者提供了强大的工具来...
<s:property value="listName.{^#this.age>1}"/> ``` - 筛选出年龄等于1的对象,并获取其年龄值: ```xml <s:property value="listName.{$#this.age==1}.{age}==null"/> ``` 以上是`<s:property>`标签及其OGNL...
<p>名称:<s:property value="name"/></p> </s:iterator> ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`<s:label>`** - 显示标签。 - **示例**: ```jsp <s:label value=...
#### 十、使用<s:interator>标签可以循环迭代一个集合中的元素,关于此标签说法不正确的是() **答案解析:** - 正确答案为 **D.可以循环迭代的集合包含List、Set和数组**。 - `<s:iterator>`标签可以用来遍历集合...
<s:if test="#st.isEven()">现在的索引是偶数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 4. **遍历 Map** `value` 可以直接设置为一个 JSON 样式...
-- 这里可以使用<s:iterator> --> </s:generator> ``` - **解释**:生成数据项,并使用逗号分隔。 ##### 24. `<s:head>` 头部标签 - **用途**:在`<head>`标签内使用。 - **示例代码**: ```xml <s:head> ...
现在的索引是偶数为:<s:property value="#st.index"/> </s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 3. **遍历Map** - `s:iterator`可以直接迭代Map对象,其中`value`属性可以是键值对...
<s:property /><br/> </s:iterator> ``` **解释**:通过以上示例可以看出,`generator`标签非常灵活,可以根据不同的需求生成不同大小的迭代器,并通过`id`属性方便地在其他地方引用这些迭代器。 #### 四、总结...
4. `<s:push>`:将值推入栈中,便于`<s:property>`标签访问。 R组标签: 1. `<s:radio>`:创建单选按钮,允许用户从一组中选择一个选项。 2. `<s:reset>`:重置按钮,清除表单数据。 S组标签: 1. `<s:select>`:...
当前元素值:<s:property value='char'/> </s:iterator> ``` #### 3. 遍历Map 除了遍历列表和数组,`<s:iterator>`同样支持遍历Map类型的数据。Map的遍历可以通过直接指定Map的值或者引用数据栈中的Map对象来实现...
这个例子展示了如何使用Struts2的`<s:form>`、`<s:textfield>`、`<s:password>`、`<s:email>`和`<s:fielderror>`标签创建一个包含用户输入验证的注册表单。 五、源码与工具 理解Struts2标签的实现原理,可以查看其...
3. `<s:property>`:获取并输出`value`属性的值。 4. `<s:push>`:将值推入值栈,使得子标签可以访问。 Q部分:无标签。 R部分: 1. `<s:radio>`:创建单选按钮,用户只能选择一个。 2. `<s:reset>`:创建重置按钮...
<p>邮箱:<s:property value="email" /></p> </s:iterator> ``` `value`属性指定要遍历的对象。 4. `s:if`和`s:choose`: 条件控制,例如: ```jsp <s:if test="isAuthenticated"> <p>欢迎回来,<s:property ...
将`<a href>`与`s:url`标签结合使用,可以生成动态链接,如: ```html <a href="<s:url action=""> <s:param name="" value=""/> <s:param name="" value=""/> <s:param name="" value=""/> </s:url>"> Link </...
<s:property /><br/> </s:iterator> </s:generator> <!-- 生成一个只包含 'aaa', 'bbb', 'ccc' 的迭代器 --> <s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3"> <s:iterator> <s:property /><br/> ...
除了上述标签,Struts2还提供了许多其他标签,例如`<s:iterator>`用于迭代集合数据,`<s:property>`用于显示值栈中的属性值,`<s:action>`用于执行Action并获取结果,以及`<s:url>`用于生成URL链接等。 总的来说,...