User.java
package model;
public class User {
//1.测普通属性
private String id;
private String name;
//2.对象属性
private ClassRoom room=new ClassRoom();
//3.测普方法
public String hello(){
return "hello";
}
//4.静态属性
public static String type="cs11dn";
//5.静态方法
public static String sayHello(){
return "hello"+type;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String id, String name, ClassRoom room) {
super();
this.id = id;
this.name = name;
this.room = room;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ClassRoom getRoom() {
return room;
}
public void setRoom(ClassRoom room) {
this.room = room;
}
}
ClassRoom.java
package model; public class ClassRoom { private int id=1; private String name="csdn"; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
OgnlAction.java
package 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 model.User; import com.opensymphony.xwork2.ActionSupport; public class OgnlAction extends ActionSupport{ private User user1; //6.测试List集合 List<User> lists1=new ArrayList<User>(); //7.测试set集合 Set<User> sets1=new HashSet<User>(); //8.测试Map集合 Map<String,User> maps=new HashMap<String,User>(); @Override public String execute() throws Exception { user1=new User(); user1.setId("001"); user1.setName("csdbbbbbbbbbbbbbn"); lists1.add(new User("001","张三", null)); lists1.add(new User("002","张", null)); lists1.add(new User("0014","三", null)); sets1.add(new User("001","2三", null)); sets1.add(new User("002","张1", null)); sets1.add(new User("0014","三1", null)); maps.put("001",new User("01","张2三", null)); maps.put("002",new User("02","张2", null)); maps.put("003",new User("014","三2", null)); return SUCCESS; } public User getUser1() { return user1; } public void setUser1(User user1) { this.user1 = user1; } public List<User> getLists1() { return lists1; } public void setLists1(List<User> lists1) { this.lists1 = lists1; } public Set<User> getSets1() { return sets1; } public void setSets1(Set<User> sets1) { this.sets1 = sets1; } public Map<String, User> getMaps() { return maps; } public void setMaps(Map<String, User> maps) { this.maps = maps; } }
Struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 调用静态方法 --> <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> <package name="login" extends="struts-default"> <action name="ognl" class="action.OgnlAction"> <result name="success">/index.jsp</result> </action> </package> </struts>
Index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘index.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 1.普通属性 <s:property value="user1.name" /><br/> 2。对象属性 <s:property value="user1.room.name" /><br/> 3.普通方法 <s:property value="user1.hello()" /><br/> 4.静态属性 <s:property value="@model.User@type" /><br/> 5.静态方法 <s:property value="@model.User@sayHello()" /><br/> 6.list <s:property value="lists1" /><br/> <s:iterator value="lists1" var="user"> <s:property value="name" /> </s:iterator><br/> 取某一个 <s:property value="lists1[1].name" /><br/> 7.set <s:property value="sets1" /><br/> <s:iterator value="sets1" var="user"> <s:property value="name" /> </s:iterator><br/> 8.Map <s:property value="maps"/><br/> <s:iterator value="maps" var="user"> <s:property value="value.id" /> </s:iterator><br/> </body> </html>
原文:http://blog.csdn.net/yantingmei/article/details/21455967