Struts2 <s:bean>標籤範例


Struts2的<s:bean>標籤用於在JSP頁面中範例化一個類。在本教學中,將使用<s:bean>標籤,以範例化一個 helloBean 的類,通過「param」元素設定其屬性,並列印出它的值。

1. 簡單Bean

一個簡單的類,後面使用bean標籤來範例化。

HelloBean.java

package com.tw511.common.action;

public class HelloBean{
	
	private String msg;

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

}

2. 動作 - Action

Action類轉發請求。

BeanTagAction.java

package com.tw511.common.action;

import com.opensymphony.xwork2.ActionSupport;
 
public class BeanTagAction extends ActionSupport{
	
	public String execute() {
		return SUCCESS;
	}
	
}

2. <s:bean>標籤範例

在這個JSP頁面將顯示如何使用<s:bean>標籤來範例化helloBean。
在<s:bean>標籤,可以通過 var 屬性分配一個Bean的名稱,以後可以通過 #var_bean_name 存取這個 Bean, 或者通過 #var_bean_name.property 來存取屬性。

bean.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
<head>
</head>
 
<body>
<h1>Struts2 <s:bean>標籤範例</h1>

<s:bean name="com.tw511.common.action.HelloBean" var="hello">
  <s:param name="msg">Hello Bean Tag</s:param>
</s:bean>

The HelloBean's msg property value : <s:property value="#hello.msg"/>

</body>
</html>

3. 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="beanTagAction" 
	    class="com.tw511.common.action.BeanTagAction" >
	    <result name="success">pages/bean.jsp</result>
	</action>
		
    </package>
</struts>

4. 範例

http://localhost:8080/struts2beantag/beanTagAction.action

在瀏覽器中開啟上面的網址,結果如下所示:

參考

  1. Struts2 <s:bean>標籤文件

程式碼下載 - http://pan.baidu.com/s/1jGJFv86