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