ognl

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>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章