鍍金池/ 教程/ Java/ 數(shù)據(jù)標(biāo)簽
注釋
主題/模板
驗(yàn)證
有用的資源
Struts 2 注解類型
實(shí)例
攔截器
異常處理
表單標(biāo)簽
結(jié)果類型
值棧/OGNL
Spring 集成
數(shù)據(jù)標(biāo)簽
環(huán)境配置
配置
類型轉(zhuǎn)換
動(dòng)作
Hibernate 集成
本地化
發(fā)送郵件
Ajax 標(biāo)簽
數(shù)據(jù)庫(kù)訪問(wèn)
體系結(jié)構(gòu)
文件上傳
Tiles 集成
概述
基本的 MVC 架構(gòu)
控制標(biāo)簽

數(shù)據(jù)標(biāo)簽

Struts 2 的 數(shù)據(jù)標(biāo)簽主要用于操作顯示在頁(yè)面中的數(shù)據(jù)。以下列出的是重要的數(shù)據(jù)標(biāo)簽:

操作標(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)簽

這些包含標(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)簽

這些 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)簽

這些日期標(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)簽用于參數(shù)化其他標(biāo)簽。這個(gè)標(biāo)簽有以下兩個(gè)參數(shù)。

  • name(字符串)——參數(shù)的名稱

  • value(對(duì)象)——參數(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)簽

屬性標(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 標(biāo)簽用于棧中 push 值的簡(jiǎn)單操作。

<s:push value="user">
    <s:propery value="firstName" />
    <s:propery value="lastName" />
</s:push>

set 標(biāo)簽

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)簽

文本標(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)簽

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>