Struts2 OGNL表达式
程序员文章站
2022-05-18 14:45:39
1、index.jsp
访问属性 ognl
2.struts.xml
2.struts.xml
4.ognl.jsp
5.OgnlAction.java
7.Dog.java
8.S.java
9.User.java
1、index.jsp
访问属性 ognl
2.struts.xml
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true"> <constant name="struts.devMode" value="true"> <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> <include file="/com/wxh/action/ognl.xml"> </include></constant></constant></struts>3.ognl.xml
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true"> <constant name="struts.devMode" value="true"> <package extends="struts-default" name="ognl"> <action class="com.wxh.action.OgnlAction" name="ognl"> <result>/ognl.jsp</result> </action> <action class="com.wxh.action.TestAction" name="test"> <result type="chain">ognl</result> </action> </package> </constant></constant></struts>
4.ognl.jsp
- 访问值栈中的action的普通属性:username=
- 访问值栈中的对象的普通属性(get set 方法):
| - 访问值栈中的对象的普通属性(get set 方法):
- 访问值栈中的对象的普通方法:
- 访问值栈中的对象的普通方法:
- 访问值栈中action的普通方法:
- 访问静态方法:
- 访问静态属性:
- 访问Math类的静态方法:
- 访问普通类的构造方法:
- 访问List:
- 访问List中某个元素:
- 访问List中元素某个属性的集合:
- 访问List中元素某个属性的集合中的特定值:
| - 访问Set:
- 访问Set中的某个元素:
- 访问Map:
- 访问Map中某个元素:
| | - 访问Map中所有的key:
- 访问Map中所有的value:
- 访问容器的大小:
| - 投影(过滤):
- 投影:
- 投影:
- 投影:
- []:
5.OgnlAction.java
package com.wxh.action; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import com.opensymphony.xwork2.ActionSupport; public class OgnlAction extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private String password; private String username; private User user; private Cat cat; private List users=new ArrayList(); private Set dogs=new HashSet(); private Map dogMap=new HashMap(); public OgnlAction(){ users.add(new User(1)); users.add(new User(2)); users.add(new User(3)); dogs.add(new Dog("dog1")); dogs.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")); } public List getUsers() { return users; } public void setUsers(List users) { this.users = users; } public Set getDogs() { return dogs; } public void setDogs(Set dogs) { this.dogs = dogs; } public Map getDogMap() { return dogMap; } public void setDogMap(Map dogMap) { this.dogMap = dogMap; } public String m(){ return "hello"; } public Cat getCat() { return cat; } public void setCat(Cat cat) { this.cat = cat; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String execute(){ return SUCCESS; } }6.Cat.java
package com.wxh.action; public class Cat { private Dog friend; public Dog getFriend() { return friend; } public void setFriend(Dog friend) { this.friend = friend; } public String miaomiao(){ return "miaomiao"; } }
7.Dog.java
package com.wxh.action; public class Dog { public Dog(){ } public Dog(String anme){ super(); this.name=name; } private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString(){ return "dog:"+name; } }
8.S.java
package com.wxh.action; public class S { public static String STR="STATIC STRING"; public static String s(){ return "static method"; } }
9.User.java
package com.wxh.action; public class User { private int age; public User(){ System.out.println("user.constructor!"); } public User(int age){ super(); this.age=age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString(){ return "user"+age; } }思考:在做一些实验的时候某些功能并没有展现。