Struts-OGNL-3
2017-04-21 16:39
381 查看
JSP中
Action中
效果:
<%--注意该项在Struts2.5中不能生效,在struts2.1.6中可以 显示age=8--%> <%--http://localhost:8080/hello/ognl/ognl 在User类中重写toString()即可--%> <li>访问普通属性的构造方法:</li> <s:property value="new dto.User(8)"></s:property><br> <%--http://localhost:8080/hello/ognl/ognl--%> <li>访问List:</li> <s:property value="users"/><br/> 访问List中某个元素:<s:property value="users[1]"/><br/> 访问List中元素某个属性的集合:<s:property value="users.{age}"/><br/> 访问List中元素某个属性的集合中的特定值: <s:property value="users.{age}[0]"/> | <s:property value="users[0].age"/><br/> 访问Set:<s:property value="dogs"/><br/> <%--set中是无顺序的,所以不能取到下标值--%> 访问Set中某个元素:<s:property value="dogs[1]"/><br/> 访问Map:<s:property value="dogMap"/><br/> 访问Map中某个元素:<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/><br/> 访问Map中所有的key:<s:property value="dogMap.keys"/><br/> 访问Map中所有的value:<s:property value="dogMap.values"/><br/> 访问容器的大小:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> <br/> <%--它的结果是集合--%> 投影(过滤):<s:property value="users.{?#this.age==1}.{age}"></s:property><br/> <%--^代表开头的那个 是2--%> 投影:<s:property value="users.{^#this.age>1}.{age}"></s:property><br/> <%--$代表结尾的那个 是2--%> 投影:<s:property value="users.{$#this.age>1}.{age}"></s:property><br/> 投影:<s:property value="users.{$#this.age>1}.{age}==null"></s:property><br/> 投影:<s:property value="users.{$#this.age>1}.{age}.size"></s:property><br/> <%--使用中括号访问元素 用于代表ValueStack中的Object对象--%> <%--什么时候会存在多个action 当struts.xml中result使用type=chain跳转时 会存在多个action存入栈中--%> <%--[0]代表从第0个位置一直向下找,所以会打印2个对象 []:[com.ognl.OgnlAction@4f046661, com.opensymphony.xwork2.DefaultTextProvider@b02d3a6]--%> []:<s:property value="[0]"></s:property>
Action中
private List<User> users = new ArrayList<User>(); private Set<Dog> dogs = new HashSet<Dog>(); private Map<String, Dog> dogMap = new HashMap<String, Dog>(); public OgnlAction() { users.add(new User("1")); users.add(new User("2")); users.add(new User("3")); dogs.add(new Dog("dog1")); d 4000 ogs.add(new Dog("dog2")); dogs.add(new Dog("dog3")); dogMap.put("dog100", new Dog("dog100")); dogMap.put("dog101", new Dog("dog101")); dogMap.put("dog102", new Dog("dog102")); }
效果:
相关文章推荐
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
- Struts之四 ValueStack及OGNL
- java框架篇---struts之OGNL详解
- 【Struts2+Hibernate4】按照MVC思想使用Hibernate查询数据库,并且在前台使用OGNL表达式输出
- struts的ognl.NoConversionPossible错误
- Struts2.1 OGNL 表达式 学习笔记(转)
- struts中常用的OGNL表达式汇总
- struts2.X心得12--OGNL表达式语言1
- SSH与SSM学习之Struts208——OGNL表达式与Struts框架结合之原理
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
- Struts 2中的OGNL教程
- struts 2.1.2 ognl 无法调用静态方法
- Struts2框架的总结二------OGNL&Struts标签
- OGNL,简单的struts 2专用表达式,你表达了吗?(10)
- Struts 2中的OGNL
- Struts源码之OgnlValueStack
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
- Struts中OGNL语言
- Struts2.1 OGNL 表达式 学习笔记
- 【Struts2五】ValueStack以及ognl表达式三(iterator标签详解)