Struts2的<s:property>標籤是用來從一個類獲得屬性值,如果沒有指定,這將默認為當前Action類(堆疊的頂部)屬性。在本教程中,它展示了如何使用 <s:property> 標籤,以從目前Action類獲得其他bean類的屬性值。
1. 動作類
這裏有一個Action類,有一個 name 屬性。
PropertyTagAction.java
package com.xuhuhu.common.action; import com.opensymphony.xwork2.ActionSupport; public class PropertyTagAction extends ActionSupport{ private String name = "Name from PropertyTagAction.java"; public String getName() { return name; } public String execute() throws Exception { return SUCCESS; } }
2. Bean
一個簡單的Java類,它有一個 name 屬性。
Person.java
package com.xuhuhu.common; public class Person { private String name = "Name from Person.java"; public String getName() { return name; } }
3. <s:property>標籤示例
它展示了如何使用<s:property>標籤,從PropertyTagAction與“Person”類獲得name屬性值。
property.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h1>Struts 2 property tag example</h1> <h2>1. Call getName() from propertyTagAction.java</h2> <s:property value="name" /> <h2>2. Call getName() from Person.java</h2> <s:bean name="com.xuhuhu.common.Person" var="personBean" /> <s:property value="#personBean.name" /> </body> </html>
“property.jsp”頁面是“PropertyTagAction”動作返回一個成功的結果頁面。如果指定了<s:property value=”name” />在“property.jsp”頁面,默認為當前的Action類“PropertyTagAction.getName()”屬性。
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="propertyTagAction" class="com.xuhuhu.common.action.PropertyTagAction" > <result name="success">pages/property.jsp</result> </action> </package> </struts>
5. 示例
http://localhost:8080/struts2propertytag/propertyTagAction.action
在流覽器中打開上面的URL,顯示結果如下:
參考
代碼下載 - http://pan.baidu.com/s/1t7m2M
上一篇:
Struts2 <s:param>標籤示例
下一篇:
Struts2 <s:push>標籤示例