1、index.jsp
訪問屬性 ognl
<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>
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 List6.Cat.javausers=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; } }
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"; } }
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; } }
package com.wxh.action; public class S { public static String STR="STATIC STRING"; public static String s(){ return "static method"; } }
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; } }思考:在做一些實驗的時候某些功能並沒有展現。