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>
當我們運行上面的例子,將得到以下的輸出:
現(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標簽集成仍然是一項進展,并且此集成的成熟度在每個版本中都在緩慢增長。
更多建議: