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;
}
}

浙公网安备 33010602011771号