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 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";
}
}
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;
}
}
思考:在做一些實驗的時候某些功能並沒有展現。