Apache-tapestry-built-in-components
Apache Tapestry-組み込みコンポーネント
この章では、Tapestryに組み込まれているコンポーネントについて、適切な例を使用して説明します。 Tapestryは65以上の組み込みコンポーネントをサポートしています。 カスタムコンポーネントを作成することもできます。 注目すべきコンポーネントのいくつかを詳細に説明しましょう。
Ifコンポーネント
ifコンポーネントは、ブロックを条件付きでレンダリングするために使用されます。 条件はテストパラメーターによってチェックされます。
以下に示すように、 IfSample.java ページを作成します-
今、次のように対応するテンプレートファイルを作成します-
ページをリクエストすると、次のように結果がレンダリングされます。
結果-http://localhost:8080/MyFirstApplication/ifsample
除外コンポーネントと委任コンポーネント
- unlessコンポーネント*は、上記で説明したifコンポーネントのちょうど反対です。 一方、* delegateコンポーネント*はそれ自体ではレンダリングを行いません。 代わりに、通常、マークアップをブロック要素に委任します。 コンポーネントがデリゲートとブロックを使用して動的コンテンツを条件付きで交換できる場合を除きます。
次のようにページ Unless.java を作成します。
今、次のように対応するテンプレートファイルを作成します-
ページをリクエストすると、次のように結果がレンダリングされます。
結果-http://localhost:8080/MyFirstApplication/unless
ループコンポーネント
ループコンポーネントは、コレクションアイテムをループ処理し、値/反復ごとにボディをレンダリングする基本コンポーネントです。
以下に示すように、ループページを作成します-
Loop.java
次に、対応するテンプレートLoop.tmlを作成します
Loop.tml
ループコンポーネントには次の2つのパラメータがあります-
- source -コレクションのソース。 1…5は、指定された範囲の配列を作成するために使用されるプロパティ拡張です。
- var -レンダリング変数。 テンプレートの本文に現在の値をレンダリングするために使用されます。
ページを要求すると、以下に示すように結果がレンダリングされます-
PageLinkコンポーネント
PageLinkコンポーネントは、あるページから別のページにページをリンクするために使用されます。 以下のようにPageLinkテストページを作成します- PageLink.java 。
次に、以下に示すように、対応するテンプレートファイルを作成します-
PageLink.tml
PageLinkコンポーネントには、ターゲットのタペストリーページを参照するページパラメーターがあります。
結果-http://localhost:8080/myFirstApplication/pagelink
EventLinkコンポーネント
EventLinkコンポーネントは、URLを介してイベント名と対応するパラメーターを送信します。 以下に示すように、EventsLinkページクラスを作成します。
EventsLink.java
次に、対応する「EventsLink」テンプレートファイルを次のように作成します-
EventsLink.tml
EventLinkには次の2つのパラメータがあります-
- Event -EventLinkコンポーネントでトリガーされるイベントの名前。 デフォルトでは、コンポーネントのIDを指します。
- コンテキスト-オプションのパラメータです。 リンクのコンテキストを定義します。
結果-http://localhost:8080/myFirstApplication/EventsLink
カウント値をクリックすると、次の出力スクリーンショットに示すように、ページのURLにイベント名が表示されます。
ActionLinkコンポーネント
ActionLinkコンポーネントはEventLinkコンポーネントに似ていますが、ターゲットコンポーネントIDのみを送信します。 デフォルトのイベント名はactionです。
以下に示すページ「ActivationLinks.java」を作成します。
ActivationLinks.java
次に、以下に示すように、対応するテンプレートファイルを作成します-
ActivationLinks.tml
ここで、ActionLinkコンポーネントをクリックすると、 OnActionFromSub メソッドが呼び出されます。
結果-http://localhost:8080/myFirstApplication/ActivationsLink
アラートコンポーネント
警告ダイアログボックスは、主にユーザーに警告メッセージを表示するために使用されます。 たとえば、入力フィールドに必須のテキストが必要であるが、ユーザーが入力を提供しない場合、検証の一部として、警告ボックスを使用して警告メッセージを表示できます。
次のプログラムに示すように、ページ「アラート」を作成します。
Alerts.java
次に、次のように対応するテンプレートファイルを作成します-
Alerts.tml
アラートには3つの重大度レベルがあります。
- Info
- Warn *エラー
上記のテンプレートは、情報アラートを使用して作成されます。* alert-info *として定義されています。 必要に応じて、他の重大度を作成できます。
ページを要求すると、次の結果が生成されます-