OGNL

 <br>   调用构造方法:  new 包名.类名(参数)调用构造方法 : <s:property value="new com.yu.User(8)"/>
   
   <br>   调用List数组: 直接List对象名 : <s:property value="users"/>
   <br>   调用List数组中某一个: List对象名[num] : <s:property value="users[0]"/>
   <br>   调用List某一属性集合: List对象名.{属性名} (注意:属性其实是List<>泛型里面对象的属性而不是List对象的属性): <s:property value="users.{userAge}"/>
   <br>   调用List中某一对象的某一属性: List对象名[num].属性名 : <s:property value="users[1].userAge"/>
   
   <br>   调用Set: 直接Set对象名: <s:property value="dogs"/>
 <br>   调用Set某一属性集合:Set对象名.{属性名} (注意,属性其实是Set<>泛型里面对象的属性而不是Set对象的属性): <s:property value="dogs.{name}"/>
   <br>   注意:因为Set中没有顺序,故Set不能像list[num]这样取某一属性
   
   <br>   调用Map: 直接Map对象名: <s:property value="dogMap"/>
   <br>   调用Map中某一对象: Map对象名.key: <s:property value="dogMap.x"/>
   <br>   调用Map中某一对象的属性: Map对象名.key.属性名: <s:property value="dogMap.x.name"/>
   <br>   调用Map大小: Map对象名.size(): <s:property value="dogMap.size()"/>

   
   <br><s:debug></s:debug>

 

-------------------------------------------------------------------------------------------------------------------------------------------------

package com.yu;


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 UserAction extends ActionSupport{
 
 
 public static final String PASSWORD = "QWERTY";
 public static String getPASSWORD() {
  return PASSWORD;
 }
 public static String staticMethod(){
  return "I'm FROM STATICMETHOD";
 }
 
 
 List<User> users = new ArrayList<User>();
 
 
 
 Set<Dog> dogs = new HashSet<Dog>();
 
 
 Map<String,Dog> dogMap = new HashMap<String,Dog>();
 private User user;
 private String name;
 
 
 
 private int age;
 
 
 public UserAction(){
  users.add(new User(3));
  users.add(new User(4));
  users.add(new User(5));
  
  dogs.add(new Dog("a"));
  dogs.add(new Dog("b"));
  dogs.add(new Dog("c"));
  
  dogMap.put("x", new Dog("x"));
  dogMap.put("y", new Dog("y"));
  dogMap.put("z", new Dog("z"));
  
 }
 
 public String display(){
  
  return "hello,world";
 }
 

 public String execute(){
  
  
  return SUCCESS;
 }

 public int getAge() {
  return age;
 }

 


 public Map<String, Dog> getDogMap() {
  return dogMap;
 }

 


 public Set<Dog> getDogs() {
  return dogs;
 }

 


 public String getName() {
  return name;
 }

 


 public User getUser() {
  return user;
 }

 public List<User> getUsers() {
  return users;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public void setDogMap(Map<String, Dog> dogMap) {
  this.dogMap = dogMap;
 }

 public void setDogs(Set<Dog> dogs) {
  this.dogs = dogs;
 }

 public void setName(String name) {
  this.name = name;
 }

 public void setUser(User user) {
  this.user = user;
 }

 public void setUsers(List<User> users) {
  this.users = users;
 }
 

}

------------------------------------------------------------------------------------------------------------------------------------------------

 

 

package com.yu;

public class User {

 private String userName;
 private int userAge;
 
 public User(){
  
  
 }
 
 public User(int userAge){
  
  this.userAge = userAge;
 }
 
 public String self(){
  
  return "I'm "+userName;
 }
 
 
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public int getUserAge() {
  return userAge;
 }

 public void setUserAge(int userAge) {
  this.userAge = userAge;
 }
 
 @Override
 public String toString(){
  
  return "user age = "+userAge;
 }

 
}

----------------------------------------------------------------------------------------------------------------------

package com.yu;

public class Dog {
 
 private String name;

 public Dog(){
  
  
 }
 
 public Dog(String name){
  
  this.name = name;
  
  
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
 
 @Override
 public String toString(){
  
  return "dog="+name;
 }
}

posted @ 2012-12-11 19:52  Ryan_hardWorking!  阅读(114)  评论(0)    收藏  举报