Struts2 Ajax標簽

2022-07-08 11:42 更新

Struts使用DOJO框架來實現(xiàn)AJAX標簽。首先,執(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)。

對于這個示例,讓我們參照以下內容修改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>

當我們運行上面的例子,將得到以下的輸出:

Struts的Ajax標簽

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

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

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

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

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

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

最后,我們有一個簡單的標簽面板,有兩個標簽。選項卡將其標簽標記為Tab1和Tab2。

值得注意的是,Struts中的AJAX標簽集成仍然是一項進展,并且此集成的成熟度在每個版本中都在緩慢增長。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號