Struts 2 的 數(shù)據(jù)標(biāo)簽主要用于操作顯示在頁(yè)面中的數(shù)據(jù)。以下列出的是重要的數(shù)據(jù)標(biāo)簽:
該標(biāo)簽允許開(kāi)發(fā)人員通過(guò)指定操作名稱和可選的名稱空間來(lái)從 JSP 頁(yè)面直接調(diào)用操作。該標(biāo)簽的主題內(nèi)容用于呈現(xiàn)來(lái)自操作的結(jié)果。在 struts.xml 文件中任何為該操作定義的結(jié)果處理器都將被忽略,除非指定了 executeResult 參數(shù)。
<div>Tag to execute the action</div> <br /> <s:action name="actionTagAction" executeResult="true" /> <br /> <div>To invokes special method in action class</div> <br /> <s:action name="actionTagAction!specialMethod" executeResult="true" />
這些包含標(biāo)簽用于在一個(gè) JSP 頁(yè)面中包含另一個(gè) JSP 文件。
<-- First Syntax -->
<s:include value="myJsp.jsp" />
<-- Second Syntax -->
<s:include value="myJsp.jsp">
<s:param name="param1" value="value2" />
<s:param name="param2" value="value2" />
</s:include>
<-- Third Syntax -->
<s:include value="myJsp.jsp">
<s:param name="param1">value1</s:param>
<s:param name="param2">value2</s:param>
</s:include>
這些 bean 標(biāo)簽實(shí)例化符合 JavaBeans 規(guī)范的類。該標(biāo)簽的主體可以包含一組參數(shù)元素來(lái)在那個(gè)類中設(shè)置任何設(shè)值方法。如果 var 屬性設(shè)置在 BeanTag 中,那么它會(huì)把初始化的 bean 放到棧的上下文中。
<s:bean name="org.apache.struts2.util.Counter" var="counter">
<s:param name="first" value="20"/>
<s:param name="last" value="25" />
</s:bean>
這些日期標(biāo)簽允許你以快速簡(jiǎn)單的方法設(shè)置日期格式。你可以指定一個(gè)自定義的格式(如 "dd/MM/yyyy hh:mm"),你可以生成簡(jiǎn)單的可讀符號(hào)(如 "in 2 hours, 14 minutes"),或者你也可以用你的屬性文件中的鍵 'struts.date.format' 來(lái)后退到預(yù)定義的格式。
<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />
參數(shù)標(biāo)簽用于參數(shù)化其他標(biāo)簽。這個(gè)標(biāo)簽有以下兩個(gè)參數(shù)。
name(字符串)——參數(shù)的名稱
<pre> <ui:component> <ui:param name="key" value="[0]"/> <ui:param name="value" value="[1]"/> <ui:param name="context" value="[2]"/> </ui:component> </pre>
屬性標(biāo)簽用于獲取值的屬性,如果不存在指定的屬性,那么就會(huì)默認(rèn)為棧頂?shù)膶傩浴?/p>
<s:push value="myBean">
<!-- Example 1: -->
<s:property value="myBeanProperty" />
<!-- Example 2: -->TextUtils
<s:property value="myBeanProperty" default="a default value" />
</s:push>
push 標(biāo)簽用于棧中 push 值的簡(jiǎn)單操作。
<s:push value="user">
<s:propery value="firstName" />
<s:propery value="lastName" />
</s:push>
set 標(biāo)簽將一個(gè)值賦給指定范圍中的變量。當(dāng)你想要為一個(gè)復(fù)雜的表達(dá)式分配一個(gè)變量,每次只需要簡(jiǎn)單的引用這個(gè)變量而不需要引用這個(gè)復(fù)雜的表達(dá)式時(shí),這個(gè)標(biāo)簽是非常有用的??捎玫姆秶?應(yīng)用程序 ,會(huì)話 ,請(qǐng)求 ,頁(yè)面 和 操作。
<s:set name="myenv" value="environment.name"/>
<s:property value="myenv"/>
文本標(biāo)簽用于呈現(xiàn) I18n 文本消息。
<!-- First Example --> <s:i18n name="struts.action.test.i18n.Shop"> <s:text name="main.title"/> </s:i18n> <!-- Second Example --> <s:text name="main.title" /> <!-- Third Examlpe --> <s:text name="i18n.label.greetings"> <s:param >Mr Smith</s:param> </s:text>
url 標(biāo)簽用于創(chuàng)建 URL。
<-- Example 1 -->
<s:url value="editGadget.action">
<s:param name="id" value="%{selected}" />
</s:url>
<-- Example 2 -->
<s:url action="editGadget">
<s:param name="id" value="%{selected}" />
</s:url>
<-- Example 3-->
<s:url includeParams="get">
<s:param name="id" value="%{'22'}" />
</s:url>