Struts2 <s:push>標籤示例

Struts2 <s:push>標籤被用來將值推到堆疊的頂部,以便它可以容易地訪問或參考。看到一個完整的<s:push>標記示例:

1. 動作

Action類只轉發請求。

PushTagAction.java

package com.xuhuhu.common.action;

import com.opensymphony.xwork2.ActionSupport;

public class PushTagAction extends ActionSupport{

	public String execute() throws Exception {

		return SUCCESS;
	}
}

2. Bean

一個簡單的Person類,將它推入堆疊以便於訪問。

Person.java

package com.xuhuhu.common;

public class Person{

	private String firstName = "This is firstName";
	private String lastName = "This is lastName";

	public String getFirstName() {
		return firstName;
	}
	public String getLastName() {
		return lastName;
	}
}

3. <s:push>標籤示例

它顯示了使用<s:push>標籤。

push.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>

<body>
<h1>Struts 2 push tag example</h1>

<h2>1. Normal way</h2>
<s:bean name="com.xuhuhu.common.Person" var="personBean" />
First name : <s:property value="#personBean.firstName" /><br/>
Last name: <s:property value="#personBean.lastName" /><br/>

<h2>2. Push way</h2>
<s:push value="#personBean" >
First name : <s:property value="firstName" /><br/>
Last name: <s:property value="lastName" /><br/>
</s:push>

</body>
</html>

它是如何工作的?

通常情況下,如果你想獲得bean的屬性,可以參考它,如 <s:property value=”#personBean.firstName” />。使用 <s:push>標籤, 可以推“#personBean”到堆疊的頂部,並直接訪問屬性 <s:property value=”firstName” />。兩者都返回相同的結果,但使用不同的接入機制。

<s:push>標籤節省鍵入幾個字元,看不出有什麼真正的值在後面。

4. struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
 	<constant name="struts.devMode" value="true" />
	<package name="default" namespace="/" extends="struts-default">

		<action name="pushTagAction"
			class="com.xuhuhu.common.action.PushTagAction" >
			<result name="success">pages/push.jsp</result>
		</action>

	</package>
</struts>

5. 執行結果

http://localhost:8080/struts2pushtag/pushTagAction.action

在流覽器中打開上面的網址,顯示結果如下:

參考

  1. Struts2 <s:push>標籤文檔
下載代碼 - http://pan.baidu.com/s/1o6Eh5TS


上一篇: Struts2 <s:property>標籤實例 下一篇: Struts2 <s:set>標籤示例