Struts2 Ajax標(biāo)簽

2022-07-08 11:42 更新

Struts使用DOJO框架來實(shí)現(xiàn)AJAX標(biāo)簽。首先,執(zhí)行示例前,你需要將struts2-dojo-plugin-2.2.3.jar添加到類路徑。你可以從struts2 下載的lib文件夾中獲取這個文件(C:\struts-2.2.3-all\struts-2.2.3\lib\struts2-dojo-plugin-2.2.3.jar)。

對于這個示例,讓我們參照以下內(nèi)容修改HelloWorld.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<html>
<head>
<title>Hello World</title>
<s:head />
<sx:head />
</head>
<body>
   <s:form>
      <sx:autocompleter label="Favourite Colour"
         list="{'red','green','blue'}" />
      <br />
      <sx:datetimepicker name="deliverydate" label="Delivery Date"
         displayFormat="dd/MM/yyyy" />
      <br />
      <s:url id="url" value="/hello.action" />
      <sx:div href="%{#url}" delay="2000">
           Initial Content
      </sx:div>
      <br/>
      <sx:tabbedpanel id="tabContainer">
         <sx:div label="Tab 1">Tab 1</sx:div>
         <sx:div label="Tab 2">Tab 2</sx:div>
      </sx:tabbedpanel>
   </s:form>
</body>
</html>

當(dāng)我們運(yùn)行上面的例子,將得到以下的輸出:

Struts的Ajax標(biāo)簽

現(xiàn)在,讓我們一步一步地完成這個例子。

首先要注意的是添加一個帶有前綴sx的新標(biāo)簽庫。這個(struts-dojo-tags)是為ajax集成專門創(chuàng)建的標(biāo)簽庫。

然后在HTML頭部內(nèi),我們稱之為sx:head。這將初始化dojo框架,并使其準(zhǔn)備好在頁面中被所有AJAX調(diào)用。這個步驟很重要,如果沒有初始化sx:head,你的ajax調(diào)用將無法工作。

首先我們有autocompleter標(biāo)簽。autocompleter標(biāo)簽看起來非常像一個選擇框。它使用紅色,綠色和藍(lán)色值填充。但選擇框和autocompleter標(biāo)簽之間的不同是autocompleter標(biāo)簽自動完成。也就是說,如果你開始在gr中輸入,它將填充“綠色”。除此之外,這個標(biāo)簽非常類似于我們前面介紹的s:select標(biāo)簽。

接下來,我們有一個日期時間選擇器。此標(biāo)標(biāo)簽創(chuàng)建一個旁邊帶有按鈕的輸入字段。當(dāng)按下按鈕時,顯示彈出日期時間選擇器。當(dāng)用戶選擇日期時,日期以在tag屬性中指定的格式填充到輸入文本中。在我們的示例中,我們指定了dd/MM/yyyy作為日期的格式。

接下來,是我們在之前的示例中為system.action文件創(chuàng)建的一個url標(biāo)簽。它不必是system.action,它可以是之前創(chuàng)建的任何action文件。然后我們有一個div,超鏈接設(shè)置為url,延遲設(shè)置為2秒。當(dāng)你運(yùn)行時會發(fā)生什么,“Initial Content”將顯示2秒,然后div的內(nèi)容將替換為hello.action執(zhí)行的內(nèi)容。

最后,我們有一個簡單的標(biāo)簽面板,有兩個標(biāo)簽。選項(xiàng)卡將其標(biāo)簽標(biāo)記為Tab1和Tab2。

值得注意的是,Struts中的AJAX標(biāo)簽集成仍然是一項(xiàng)進(jìn)展,并且此集成的成熟度在每個版本中都在緩慢增長。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號