tapestryを知る
4013 ワード
リンクに関心を持たないでください.お願いに関心を持たなくてもいいです. request気にする必要はありません.Tapestryは一階のrequestに構築されます. レスポンスモードは、Servlet技術に基づいて、コンポーネント開発に抽象的に乗り出すモデルで、Tapestryが関心を持っているのは、ページ、コンポーネント、イベント、オブジェクト、方法、属性です.
jarパッケージのインストール
1、Tapestry解凍カタログのlibディレクトリのjarカバンをWEB-INF/libディレクトリにコピーします.重複したカバンを削除します.
2、web.xmlに追加する:
これはTapestryの中央コントローラーです.Tapestryページによると、すべての要求はこのservletに送られます.
実例1:
最も簡単なTapestryプログラムは、WebRootにHomeを追加し、URLを訪問します.http://localhost:8080/contextpath/app
結果ページにHome.htmlの内容が表示されます.これはTapestryがいつも1つの名前の“Home”というページを含んでいるためで、デフォルトの情況の下でルートの下のHome.
例2:簡単なダイナミックコンテンツを追加します.
実例3:リンクを作成し、あるページを指します.
更新
今回は、一つのPagelinkコンポーネントを通じて、ホームページを指します.Pagelinkコンポーネントはホームページへのリンクを自動的に発生します.
例4:簡単なカウンタ
今までjava類には触れていませんでしたが、TapeStryを成功させました.javaコードを書くべきです.私たちはカウンタを作成したいです.ユーザーが「カウンタを1つ上げる」をクリックするたびに、このカウンタを1つ追加して、この結果をページに表示します.
従来の要求応答モードでは、この問題について、対応するアクションを作成してこの要求を受信し、カウンタの値を維持し、成功したページを決定して、結果をページに表示することを考慮する必要がある.
Tapestryでは、どのページでこのイベントを処理しますか?結果はどのようにページに表示されますか?下はホームです.EndFragment-->
「計算機の現在の値は:です. jwcid=「@Insert」 value=「ognl:counter」
DirectLinkはlistenerをdoClickと指定しています.これはイベントをトリガします.実際にはdoClickメソッドを呼び出します.doClick()方法はどこに書きますか?現在のページでは、ダイナミックデータは簡単に入手できませんので、現在のページに対応するクラスを作成しなければなりません.私たちの方法はこのクラスに作成されます.この例では、クラス名をHomeと定義し、listenerの名前はdoClickではなくdoClickと定義します.
Tapestryのプロファイルを追加します.Web-Infディレクトリで、app.app.appleファイルを作成します.
例5:パラメータを持つカウンタは、複数のパラメータを伝えるために、ognl:{param 1、param 2}という方法を使用しています.EndFragment-->
計算結果は: jwcid=「@Insert」 value=「ognl:result」
jarパッケージのインストール
1、Tapestry解凍カタログのlibディレクトリのjarカバンをWEB-INF/libディレクトリにコピーします.重複したカバンを削除します.
2、web.xmlに追加する:
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
これはTapestryの中央コントローラーです.Tapestryページによると、すべての要求はこのservletに送られます.
実例1:
最も簡単なTapestryプログラムは、WebRootにHomeを追加し、URLを訪問します.http://localhost:8080/contextpath/app
結果ページにHome.htmlの内容が表示されます.これはTapestryがいつも1つの名前の“Home”というページを含んでいるためで、デフォルトの情況の下でルートの下のHome.
例2:簡単なダイナミックコンテンツを追加します.
:<span jwcid="@Insert" value="ognl:new java.util.Date()"> </span>
このページでは、TapestryのInsertコンポーネント(Component)が使用されています.パラメータを持って、一つのognl表現によって伝達されます.アプリケーションサーバの起動パラメータに追加します. -Docg.apache.tapestry.disable-caching=true.はページテンプレートを変更するたびにサーバーを再起動することを避けることができます.実例3:リンクを作成し、あるページを指します.
更新
今回は、一つのPagelinkコンポーネントを通じて、ホームページを指します.Pagelinkコンポーネントはホームページへのリンクを自動的に発生します.
例4:簡単なカウンタ
今までjava類には触れていませんでしたが、TapeStryを成功させました.javaコードを書くべきです.私たちはカウンタを作成したいです.ユーザーが「カウンタを1つ上げる」をクリックするたびに、このカウンタを1つ追加して、この結果をページに表示します.
従来の要求応答モードでは、この問題について、対応するアクションを作成してこの要求を受信し、カウンタの値を維持し、成功したページを決定して、結果をページに表示することを考慮する必要がある.
Tapestryでは、どのページでこのイベントを処理しますか?結果はどのようにページに表示されますか?下はホームです.EndFragment-->
「計算機の現在の値は:です. jwcid=「@Insert」 value=「ognl:counter」
DirectLinkはlistenerをdoClickと指定しています.これはイベントをトリガします.実際にはdoClickメソッドを呼び出します.doClick()方法はどこに書きますか?現在のページでは、ダイナミックデータは簡単に入手できませんので、現在のページに対応するクラスを作成しなければなりません.私たちの方法はこのクラスに作成されます.この例では、クラス名をHomeと定義し、listenerの名前はdoClickではなくdoClickと定義します.
Tapestryのプロファイルを追加します.Web-Infディレクトリで、app.app.appleファイルを作成します.
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
"http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
<application>
<meta key="org.apache.tapestry.page-class-packages" value="com.bjsxt.crm.web.tapestry.test"/>
</application>
例5:パラメータを持つカウンタは、複数のパラメータを伝えるために、ognl:{param 1、param 2}という方法を使用しています.EndFragment-->
計算結果は: jwcid=「@Insert」 value=「ognl:result」