Struts-2-struts-ajax-tags
Struts 2-Ajaxタグ
Strutsは、AJAXタグの実装にDOJOフレームワークを使用します。 まず、この例を進めるには、struts2-dojo-plugin-2.2.3.jarをクラスパスに追加する必要があります。
このファイルは、struts2ダウンロードのlibフォルダー(C:\ struts-2.2.3all \ 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>
上記の例を実行すると、次の出力が得られます-
次に、この例を1ステップずつ見ていきましょう。
最初に気づくのは、接頭辞sxを持つ新しいタグライブラリの追加です。 これ(struts-dojo-tags)は、ajax統合のために特別に作成されたタグライブラリです。
次に、HTMLヘッド内でsx:headを呼び出します。 これにより、dojoフレームワークが初期化され、ページ内のすべてのAJAX呼び出しの準備が整います。 このステップは重要です-sx:headが初期化されていないと、ajax呼び出しは機能しません。
最初にオートコンプリータータグがあります。 オートコンプリートタグは、選択ボックスによく似ています。 赤、緑、青の値が入力されます。 しかし、選択ボックスとこれとの違いは、選択ボックスが自動的に完了することです。 つまり、grで入力を開始すると、「緑」で塗りつぶされます。 それ以外は、このタグは先ほど説明したs:selectタグと非常によく似ています。
次に、日付時刻ピッカーがあります。 このタグは、ボタンが横にある入力フィールドを作成します。 ボタンが押されると、ポップアップ日時ピッカーが表示されます。 ユーザーが日付を選択すると、タグ属性で指定された形式で日付が入力テキストに入力されます。 この例では、日付の形式としてdd/MM/yyyyを指定しています。
次に、前の演習で作成したsystem.actionファイルへのurlタグを作成します。 system.actionである必要はありません-以前に作成した任意のアクションファイルである可能性があります。 次に、ハイパーリンクがURLに設定され、遅延が2秒に設定されたdivがあります。 これを実行すると、「初期コンテンツ」が2秒間表示され、次にdivのコンテンツが hello.action 実行からのコンテンツに置き換えられます。
最後に、2つのタブがある単純なタブパネルがあります。 タブは、ラベルがタブ1およびタブ2のdivである。
StrutsでのAJAXタグの統合はまだ進行中の作業であり、この統合の成熟度はリリースごとに徐々に増加していることに注意してください。