JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?
私はTapestry2.3あたりのころにTapestryの存在を知りました。
それまではStrutsでした。
デザイナーを内輪にかかえていない我が社では外注先から戻ってきた
HTMLからJSPへの変換および、再修正依頼が非常に困難でした。
○JSPへの変換ってつまらないよね!
○デザイナーがStrutsの拡張タグ理解できるわけないだろう!
○できたとしてどうやってデザインするの?
そんなあなたにはTapestryしかありません!
ぜひ日本でもこの2chを中心にTapestryの輪を広げて
Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ!
ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v
登録ユーザ○十数万人、売上○千万円程度の規模です。
携帯は全機種対応確認済みです。
携帯のブラウザのバグ的なものに対応するために、
Tapestryのソースいくつか書き換えてるけどね(^_^;
Tapestryに興味ある人レスよろしくね!
探検
Tapestryについて語ろうよ!
■ このスレッドは過去ログ倉庫に格納されています
1Ace
NGNG290デフォルトの名無しさん
NGNG291デフォルトの名無しさん
NGNG あと遅レスだが
>>226
特集記事の筆者が仕様を 思 い っ き り 誤 訳 してるだけの話らしい。
あとuploadの例で \n 出力するのは(あのケースだと)ちゃんと意味が有るのに、
あたかも意味が無いような注釈入れております。
>>226
特集記事の筆者が仕様を 思 い っ き り 誤 訳 してるだけの話らしい。
あとuploadの例で \n 出力するのは(あのケースだと)ちゃんと意味が有るのに、
あたかも意味が無いような注釈入れております。
292デフォルトの名無しさん
NGNG293& ◆D3ra0B2LiQ
NGNG スピソjの話題もここでよいのか?
294デフォルトの名無しさん
NGNG >293
いいともー。
TapestryのWikiにも同じ間違い書いてる奴いたなw>value
いいともー。
TapestryのWikiにも同じ間違い書いてる奴いたなw>value
295デフォルトの名無しさん
NGNG spindle プラグイン入れた状態で、
配下の web.xml にTapestryのApplicationServlet を複数指定すると
×印だされるんだけど、これって Tapestry のほうの仕様なのか、
spindle のほうのバグなんか、どっちなのでせうか?
配下の web.xml にTapestryのApplicationServlet を複数指定すると
×印だされるんだけど、これって Tapestry のほうの仕様なのか、
spindle のほうのバグなんか、どっちなのでせうか?
296デフォルトの名無しさん
NGNG297デフォルトの名無しさん
NGNG https://betterpetshop.dev.java.net/
Tapestry, Spring, Hibernateで作り直したPetShopだそうな。
Tapestry, Spring, Hibernateで作り直したPetShopだそうな。
299デフォルトの名無しさん
NGNG300& ◆LMRaV4nJQQ
NGNG さて、4/29にTapestry 3.1( & hiveMind)がスタートしたわけだが。
301デフォルトの名無しさん
NGNG Tapestryでは、StrutsのTilesみたいな機能はないのでしょうか?
Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ
いけないのでしょうか?
Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ
いけないのでしょうか?
302デフォルトの名無しさん
NGNG もうサーバサイドJavaは勘弁して欲しいよ
なんでこんな複雑なものが必要なんだ?
冷静に考えれ
なんでこんな複雑なものが必要なんだ?
冷静に考えれ
303デフォルトの名無しさん
NGNG 馬鹿発見
難しくしならないようにフレームワークがある
そしてTapestryは結構よくできている用に見える
反面、まったくできてないのはドキュメント
個人で作ったツールは出来がよくてもドキュメントがないとか
そういうのはよくあるがそんなイメージに近い
単なる一ライブラリならともかくその上で動かそうってんだから
ドキュメント無いとお仕事にならないよ
難しくしならないようにフレームワークがある
そしてTapestryは結構よくできている用に見える
反面、まったくできてないのはドキュメント
個人で作ったツールは出来がよくてもドキュメントがないとか
そういうのはよくあるがそんなイメージに近い
単なる一ライブラリならともかくその上で動かそうってんだから
ドキュメント無いとお仕事にならないよ
304デフォルトの名無しさん
NGNG 本質が見えていないバカは303だ。
サーバサイドJava、俺も面倒だと思うよ・・・
全然スマートじゃない。
サーバサイドJava、俺も面倒だと思うよ・・・
全然スマートじゃない。
305デフォルトの名無しさん
NGNG 何がどう面倒なのよ?
306デフォルトの名無しさん
NGNG 自分の理解不足を、面倒という考え方に転嫁してるやつがいるな。
307デフォルトの名無しさん
NGNG 客観的に見て、Webアプリ組むのに、Javaが一番楽チンか?
EJBってカンタン&楽チン?
TapestryとかVelocityとかStrutsとか誰でも簡単にすぐ使える?
俺は人にも教えてるし、書籍の執筆や翻訳したり雑誌記事も書くが
そのたびに内心「あ〜面倒!」と思うよ
逆に、ちゃんと理解してないヤツが何となく「簡単そう」と
思いこんでるだけじゃないの?
やればやるほどマンドクセ
EJBってカンタン&楽チン?
TapestryとかVelocityとかStrutsとか誰でも簡単にすぐ使える?
俺は人にも教えてるし、書籍の執筆や翻訳したり雑誌記事も書くが
そのたびに内心「あ〜面倒!」と思うよ
逆に、ちゃんと理解してないヤツが何となく「簡単そう」と
思いこんでるだけじゃないの?
やればやるほどマンドクセ
308デフォルトの名無しさん
NGNG EJBが必要なレベルのWEBアプリってあんま無いと思うが
フレームワーク開発はプログラマの品質がピンキリなために
業務ロジックだけに集中させるという目的があるはず
分業考えるとstrutsよりTapestryとかのほうがいいとかそういうお話かと
ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし
その程度なら豊富なライブラリもあるしjsp一本でいいだろう
ただある程度の規模になったとき困る
書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前
フレームワーク開発はプログラマの品質がピンキリなために
業務ロジックだけに集中させるという目的があるはず
分業考えるとstrutsよりTapestryとかのほうがいいとかそういうお話かと
ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし
その程度なら豊富なライブラリもあるしjsp一本でいいだろう
ただある程度の規模になったとき困る
書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前
309デフォルトの名無しさん
NGNG >>301
http://dorffweb.com/?page=taptutorial
このチュートリアルの第7章のサンプル見ればわかる。
ってだけでもアレなんで。結論からいうと、
・ヘッダー/フッターを司るJWCを自分で作って、テンプレートから呼ぶ。
・そのJWCの中では、呼ばれたテンプレートの内容を丸ごと書き出す
Tapestry謹製のJWC "RenderBody" を呼ぶ。
という方法です。
RenderBodyのもっと詳しい説明はコチラ↓
http://jakarta.apache.org/tapestry/doc/ComponentReference/RenderBody.html
http://dorffweb.com/?page=taptutorial
このチュートリアルの第7章のサンプル見ればわかる。
ってだけでもアレなんで。結論からいうと、
・ヘッダー/フッターを司るJWCを自分で作って、テンプレートから呼ぶ。
・そのJWCの中では、呼ばれたテンプレートの内容を丸ごと書き出す
Tapestry謹製のJWC "RenderBody" を呼ぶ。
という方法です。
RenderBodyのもっと詳しい説明はコチラ↓
http://jakarta.apache.org/tapestry/doc/ComponentReference/RenderBody.html
310デフォルトの名無しさん
NGNG ×呼ばれたテンプレートの内容
○呼ばれたjwcidを持つタグの内容
スンマソン
○呼ばれたjwcidを持つタグの内容
スンマソン
311デフォルトの名無しさん
NGNG StrutsやTapestryを一ヶ月の超短納期prjで採用するのが
間違ってる。。。
間違ってる。。。
312デフォルトの名無しさん
NGNG >>311
ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・
ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・
313初期不良
NGNG >>307
WebObjects とか初心者に使わせることを考えたらどうだ?
凝ったことをしなければ非常に簡単に、しかも従っていれば
基本的にきれいな方向に持っていってくれる。そんなフレームワークが
できるならがんばって作ってもいいじゃないか。
そんな WebObjects のフレームワークに一番近い感じの
Tapestry age
WebObjects とか初心者に使わせることを考えたらどうだ?
凝ったことをしなければ非常に簡単に、しかも従っていれば
基本的にきれいな方向に持っていってくれる。そんなフレームワークが
できるならがんばって作ってもいいじゃないか。
そんな WebObjects のフレームワークに一番近い感じの
Tapestry age
315デフォルトの名無しさん
NGNG316デフォルトの名無しさん
NGNG >>315
Tapestryに限らないと思うけどフレームワーク熟知してる人間は少数で
いいのでわ?
んで、フレームワークとかわかんないけどJavaはかけるぐらいのPGに
ちゃんとした仕様書渡してビジネスロジックを実装させる(もちろん単体テストも)。
あとはフレームワークわかってる人間が組み込めと。
Tapestryに限らないと思うけどフレームワーク熟知してる人間は少数で
いいのでわ?
んで、フレームワークとかわかんないけどJavaはかけるぐらいのPGに
ちゃんとした仕様書渡してビジネスロジックを実装させる(もちろん単体テストも)。
あとはフレームワークわかってる人間が組み込めと。
317301
NGNG 教えてクンで申し訳ないのだけど、
HTMLテンプレートやpage specification等のファイルの配置ディレクトリを
カスタマイズするにはどうすればよいのでしょうか?
いくつかのサンプルアプリを見てみたのだけど、常にHTMLテンプレートファイルは
context直下のディレクトリに、それ以外はcontext/WEB-INFのディレクトリに
置かれてた。
それと、
複数の階層(ディレクトリ)を設けて、ページの内容に応じてHTMLテンプレート
ファイルを管理したいのだけど、そんなわがままは許されないのでしょうか?
ひとつのディレクトリにしか置けないと、規模が大きくなったときに管理が
不便じゃない? 複数人での制作だとファイル名がダブらないようにするだけでも
大変かも知れないし。
HTMLテンプレートやpage specification等のファイルの配置ディレクトリを
カスタマイズするにはどうすればよいのでしょうか?
いくつかのサンプルアプリを見てみたのだけど、常にHTMLテンプレートファイルは
context直下のディレクトリに、それ以外はcontext/WEB-INFのディレクトリに
置かれてた。
それと、
複数の階層(ディレクトリ)を設けて、ページの内容に応じてHTMLテンプレート
ファイルを管理したいのだけど、そんなわがままは許されないのでしょうか?
ひとつのディレクトリにしか置けないと、規模が大きくなったときに管理が
不便じゃない? 複数人での制作だとファイル名がダブらないようにするだけでも
大変かも知れないし。
318デフォルトの名無しさん
NGNG なんでTapestryを使うの?
ってお客さんに問われたらどう答えますか?
ってお客さんに問われたらどう答えますか?
319デフォルトの名無しさん
NGNG JSP拡張で効率化できますよ〜
とでも逝っておけ
とでも逝っておけ
320デフォルトの名無しさん
NGNG321デフォルトの名無しさん
NGNG322デフォルトの名無しさん
NGNG323デフォルトの名無しさん
NGNG >>321
じゃあ削減分、値引いてね♪と言われる罠w
じゃあ削減分、値引いてね♪と言われる罠w
324デフォルトの名無しさん
NGNG325デフォルトの名無しさん
NGNG 新技術を使って前より少ない工数でできました(生産性向上)
じゃあ次は値引いて、
じゃあ次は機能増やすね、
、、、
人月の弊害だよなぁ。。。
生産性向上の利益がエンジニアに配分されない。。。
スレズレスマソ
じゃあ次は値引いて、
じゃあ次は機能増やすね、
、、、
人月の弊害だよなぁ。。。
生産性向上の利益がエンジニアに配分されない。。。
スレズレスマソ
326デフォルトの名無しさん
NGNG327デフォルトの名無しさん
NGNG 定期的に湧くアンチがいるな
フレームワークがなかったらあとで修正したりするの大変じゃないか?
みんな好き勝手にdoGetとかでガリガリ書いたりするのか?
開発者が1人2人くらいならともかく100人超える規模とかでそれやられたらたまらんな
初期の開発だけじゃなくて運用後の修正のコストなどもトータルで考えるべきだろう
もちろんEJBが必要な案件もあれば必要がないものだってあるさ
そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか
いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実
フレームワークがなかったらあとで修正したりするの大変じゃないか?
みんな好き勝手にdoGetとかでガリガリ書いたりするのか?
開発者が1人2人くらいならともかく100人超える規模とかでそれやられたらたまらんな
初期の開発だけじゃなくて運用後の修正のコストなどもトータルで考えるべきだろう
もちろんEJBが必要な案件もあれば必要がないものだってあるさ
そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか
いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実
328デフォルトの名無しさん
NGNG 小規模、短納期にJ2EEは使うなってことで
329デフォルトの名無しさん
NGNG >>327
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。
フレームワークが必要なのは、ウェブのリクエストを処理するところだけじゃなく、
コアな部分においてアプリケーション毎にいくつか出てくるでしょ。100人だろうが
1000人だろうが好き勝手やらないのは当たり前。
フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク
を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方
ってのをもう一度ゼロベースから考え直してみたらどうだろうか。
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。
フレームワークが必要なのは、ウェブのリクエストを処理するところだけじゃなく、
コアな部分においてアプリケーション毎にいくつか出てくるでしょ。100人だろうが
1000人だろうが好き勝手やらないのは当たり前。
フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク
を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方
ってのをもう一度ゼロベースから考え直してみたらどうだろうか。
330デフォルトの名無しさん
NGNG もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ
あほな連中がそういうことやらないで(というか新しいこと勉強してない連中は
フレームワークという単語を知らないらしい)みんなガリガリやるのに慣れているとか
そういうことらしい
まぁ、チームとか会社とか場所によって面白いほど考え方が様々で
そのへん整備されてないところに回されると大変だぞ、と
んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか
そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので
Tapestryもがんばって欲しいなと
あほな連中がそういうことやらないで(というか新しいこと勉強してない連中は
フレームワークという単語を知らないらしい)みんなガリガリやるのに慣れているとか
そういうことらしい
まぁ、チームとか会社とか場所によって面白いほど考え方が様々で
そのへん整備されてないところに回されると大変だぞ、と
んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか
そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので
Tapestryもがんばって欲しいなと
331デフォルトの名無しさん
NGNG >>329
最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。
その上でいいものを探して、選択する。
ただ、通常、どのフレームワークでも、いろいろなケースに対応するために、
すごく複雑な設定まで出来るようになってる。
それを切り落として、自分が利用するケースで必要十分なところまで絞り込んで、
ここまで出来れば十分、というところまで絞り込めばいい、ということ。
本当に基本的なところだけなら、実はどのフレームワークも意外に簡単。
作るべきものも定型化しやすいものがおおい。
って、正直Tapestryが本当にいいかどうかはまだ分からないし、
Strutsにはだいぶ苦労させられた口だが。
まあ、そうは言っても、StrutsやTapestryなどのフレームワークを使わないのは損だ、
という認識に変わりはない。自分で作ろうと思うと、以外に大変な割りに、
結局どれかの既存のフレームワークに似たようなつくりになること多いし。
覚えるのが面倒だからという理由なら、ドキュメントが出るのをまってもいいし、
なんなら、コンサルでもいれなよ。一度、カタにはまった開発、ってのをやってみれば、
楽なのが分かる。面白いかどうかは別にしてね。
最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。
その上でいいものを探して、選択する。
ただ、通常、どのフレームワークでも、いろいろなケースに対応するために、
すごく複雑な設定まで出来るようになってる。
それを切り落として、自分が利用するケースで必要十分なところまで絞り込んで、
ここまで出来れば十分、というところまで絞り込めばいい、ということ。
本当に基本的なところだけなら、実はどのフレームワークも意外に簡単。
作るべきものも定型化しやすいものがおおい。
って、正直Tapestryが本当にいいかどうかはまだ分からないし、
Strutsにはだいぶ苦労させられた口だが。
まあ、そうは言っても、StrutsやTapestryなどのフレームワークを使わないのは損だ、
という認識に変わりはない。自分で作ろうと思うと、以外に大変な割りに、
結局どれかの既存のフレームワークに似たようなつくりになること多いし。
覚えるのが面倒だからという理由なら、ドキュメントが出るのをまってもいいし、
なんなら、コンサルでもいれなよ。一度、カタにはまった開発、ってのをやってみれば、
楽なのが分かる。面白いかどうかは別にしてね。
332デフォルトの名無しさん
NGNG >>331
長いしわかりずらいよ、文章が
長いしわかりずらいよ、文章が
333デフォルトの名無しさん
NGNG334デフォルトの名無しさん
NGNG335デフォルトの名無しさん
NGNG >>334
でも「Tapestry知ってる人」をアサインするのが大変なような・・・
でも「Tapestry知ってる人」をアサインするのが大変なような・・・
336デフォルトの名無しさん
NGNG337301
NGNG 317の件はやっぱり無理?
338デフォルトの名無しさん
NGNG339デフォルトの名無しさん
NGNG >>333 少なくとも型にはまった開発、っていうのは見られるかな。
340デフォルトの名無しさん
NGNG おまいらスピソjがRC1になりますたよ。
Redirect Filter も扱えるようになりましたよ。
Redirect Filter も扱えるようになりましたよ。
341デフォルトの名無しさん
NGNG age
342デフォルトの名無しさん
NGNG >>338
同じ事悩んでるヤシがいたか。漏れもかなり探したよ。で、出来た。
WEB-INF/config/Home.page
/comp/ShowProducts.jwc
/contents/Home.html
/comp/ShowProducts.html
みたいなとき、
.applicationに、
<page name="Home" specification-path="config/Home.page"/>
とか
<component-type type="ShowProducts" specification-path="config/comp/ShowProducts.jwc"/>
みたいに書く。
.pageや.jwcには、
<context-asset name="$template" path="WEB-INF/contents/Home.html">
という風に書く。
さらに、templateのデフォルトのsearch pathも変えられるらしいが、
まだ、試してない。317やってみてくれ。
http://www.caddr.com/macho/archives/tapestry-users/2003-12/2948.html
同じ事悩んでるヤシがいたか。漏れもかなり探したよ。で、出来た。
WEB-INF/config/Home.page
/comp/ShowProducts.jwc
/contents/Home.html
/comp/ShowProducts.html
みたいなとき、
.applicationに、
<page name="Home" specification-path="config/Home.page"/>
とか
<component-type type="ShowProducts" specification-path="config/comp/ShowProducts.jwc"/>
みたいに書く。
.pageや.jwcには、
<context-asset name="$template" path="WEB-INF/contents/Home.html">
という風に書く。
さらに、templateのデフォルトのsearch pathも変えられるらしいが、
まだ、試してない。317やってみてくれ。
http://www.caddr.com/macho/archives/tapestry-users/2003-12/2948.html
344デフォルトの名無しさん
NGNG >>317
なんだよ、そっちかよ
標準Documentに乗ってるじゃねーか
TemplateSourceDelegateを使ってsearch pathを変更することを期待してるのかと思って
必死でサンプル作って試していたのがショック!!!(T_T)
なんだよ、そっちかよ
標準Documentに乗ってるじゃねーか
TemplateSourceDelegateを使ってsearch pathを変更することを期待してるのかと思って
必死でサンプル作って試していたのがショック!!!(T_T)
345デフォルトの名無しさん
NGNG346342
NGNG347デフォルトの名無しさん
NGNG >>344
オラも見てみたいズラ。
オラも見てみたいズラ。
348デフォルトの名無しさん
NGNG おれはどっちでもいーや
349デフォルトの名無しさん
NGNG 見せてもらえるものは見せてもらった方がいいわね、アータ。
350デフォルトの名無しさん
NGNG 3.0リリースから、もう一ヶ月たつのに、一向に盛り上がってこないなあ。
やってるー? みんなー?
やってるー? みんなー?
351デフォルトの名無しさん
NGNG つうかFlashMXにはまってるからもういいや
352デフォルトの名無しさん
NGNG >>350
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。
ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。
ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com
353デフォルトの名無しさん
NGNG 所詮、ニッチなわけで
354デフォルトの名無しさん
NGNG 悪くないと思ったんだが、だめかなー。
Strutsより現実的でいいと思うんだがなー。
Strutsより現実的でいいと思うんだがなー。
355デフォルトの名無しさん
NGNG >>352
場の空気の読めない人が2番目のTapestryのML立ち上げてんだよね
"leader19731221" <s.owada@athens-net.com>
YahooのTapestryのMLに
--------------------
FreeMLにてTapestry-Japan MLを開設しました。
以下のURLにて閲覧、投稿ができますので、是非とも参加下さい。
http://www.freeml.com/info/tapestry-japan@freeml.com
--------------------
何なのこの人?
場の空気の読めない人が2番目のTapestryのML立ち上げてんだよね
"leader19731221" <s.owada@athens-net.com>
YahooのTapestryのMLに
--------------------
FreeMLにてTapestry-Japan MLを開設しました。
以下のURLにて閲覧、投稿ができますので、是非とも参加下さい。
http://www.freeml.com/info/tapestry-japan@freeml.com
--------------------
何なのこの人?
356デフォルトの名無しさん
NGNG >>342
できたよ
決定事項
●テンプレート置き場:アプリケーションコンテキストの下の/sample/hoge/
●作成するDelegateクラス名:test.SampleTemplateSourceDelegate
手順
●1.TemplateSourceDelegateの登録
sample.applicationに
<extension name="org.apache.tapestry.template-source-delegate" class="test.SampleTemplateSourceDelegate"/>
を追加
●2.SampleTemplateSourceDelegate.javaにDefaultTemplateSourceのソースをコピー
2.1 クラス名をDefaultTemplateSourceからSampleTemplateSourceDelegate書き換え
2.2 インターフェースにITemplateSourceDelegateを追加
2.3 LOGの引数を「DefaultTemplateSource.class」から「SampleTemplateSourceDelegate.class」に書き換え 2.4 以下のfindTemplateメソッドを追加
●3.テンプレートを書いておしまい
/WEB-INF/Home.page
/sample/hoge/Home.html
できたよ
決定事項
●テンプレート置き場:アプリケーションコンテキストの下の/sample/hoge/
●作成するDelegateクラス名:test.SampleTemplateSourceDelegate
手順
●1.TemplateSourceDelegateの登録
sample.applicationに
<extension name="org.apache.tapestry.template-source-delegate" class="test.SampleTemplateSourceDelegate"/>
を追加
●2.SampleTemplateSourceDelegate.javaにDefaultTemplateSourceのソースをコピー
2.1 クラス名をDefaultTemplateSourceからSampleTemplateSourceDelegate書き換え
2.2 インターフェースにITemplateSourceDelegateを追加
2.3 LOGの引数を「DefaultTemplateSource.class」から「SampleTemplateSourceDelegate.class」に書き換え 2.4 以下のfindTemplateメソッドを追加
●3.テンプレートを書いておしまい
/WEB-INF/Home.page
/sample/hoge/Home.html
357デフォルトの名無しさん
NGNG public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
private IResourceLocation _sampleResourceLocation;
public ComponentTemplate findTemplate(
IRequestCycle cycle,
IComponent component,
Locale locale)
{
IResourceLocation location=component.getSpecification().getSpecificationLocation();
String name = location.getName();
int dotx = name.lastIndexOf('.');
String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
LOG.debug("component="+templateBaseName);
if (_sampleResourceLocation == null){
IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
_sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
}
IResourceLocation baseLocation =
_sampleResourceLocation.getRelativeLocation(templateBaseName);
IResourceLocation localizedLocation = baseLocation.getLocalization(locale);
LOG.debug("location="+localizedLocation);
if (localizedLocation == null)
return null;
return getOrParseTemplate(cycle, localizedLocation, component);
}
-------------------------------
public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
private IResourceLocation _sampleResourceLocation;
public ComponentTemplate findTemplate(
IRequestCycle cycle,
IComponent component,
Locale locale)
{
IResourceLocation location=component.getSpecification().getSpecificationLocation();
String name = location.getName();
int dotx = name.lastIndexOf('.');
String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
LOG.debug("component="+templateBaseName);
if (_sampleResourceLocation == null){
IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
_sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
}
IResourceLocation baseLocation =
_sampleResourceLocation.getRelativeLocation(templateBaseName);
IResourceLocation localizedLocation = baseLocation.getLocalization(locale);
LOG.debug("location="+localizedLocation);
if (localizedLocation == null)
return null;
return getOrParseTemplate(cycle, localizedLocation, component);
}
-------------------------------
358デフォルトの名無しさん
NGNG public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
private IResourceLocation _sampleResourceLocation;
public ComponentTemplate findTemplate(
IRequestCycle cycle,
IComponent component,
Locale locale)
{
IResourceLocation location=component.getSpecification().getSpecificationLocation();
String name = location.getName();
int dotx = name.lastIndexOf('.');
String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
LOG.debug("component="+templateBaseName);
if (_sampleResourceLocation == null){
IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
_sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
}
IResourceLocation baseLocation =
_sampleResourceLocation.getRelativeLocation(templateBaseName);
IResourceLocation localizedLocation = baseLocation.getLocalization(locale);
LOG.debug("location="+localizedLocation);
if (localizedLocation == null)
return null;
return getOrParseTemplate(cycle, localizedLocation, component);
}
-------------------------------
public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
private IResourceLocation _sampleResourceLocation;
public ComponentTemplate findTemplate(
IRequestCycle cycle,
IComponent component,
Locale locale)
{
IResourceLocation location=component.getSpecification().getSpecificationLocation();
String name = location.getName();
int dotx = name.lastIndexOf('.');
String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
LOG.debug("component="+templateBaseName);
if (_sampleResourceLocation == null){
IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
_sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
}
IResourceLocation baseLocation =
_sampleResourceLocation.getRelativeLocation(templateBaseName);
IResourceLocation localizedLocation = baseLocation.getLocalization(locale);
LOG.debug("location="+localizedLocation);
if (localizedLocation == null)
return null;
return getOrParseTemplate(cycle, localizedLocation, component);
}
-------------------------------
359デフォルトの名無しさん
NGNG このサンプルはコンポーネントのテンプレートにも使えるよ(^o^)v
/WEB-INF/Hoge.jwc
/sample/hoge/Hoge.html
/WEB-INF/Hoge.jwc
/sample/hoge/Hoge.html
360デフォルトの名無しさん
NGNG age
361デフォルトの名無しさん
NGNG 日本語ドキュメント整備されればとびつくけどな
362デフォルトの名無しさん
NGNG このスレも50毎に>>361の結論が出て、その繰り返しで1000行きそうだな。
363デフォルトの名無しさん
NGNG364デフォルトの名無しさん
NGNG365デフォルトの名無しさん
NGNG >>363
乗り換えるなら、JSPから。
乗り換えるなら、JSPから。
366342
NGNG367デフォルトの名無しさん
NGNG368デフォルトの名無しさん
NGNG 今やってる仕事、strutsなんだけど、ご多分に漏れず、
struts-config.xmlが肥大化。
DynaActionBeanの設定とか、もういやすぎ。
例の分割管理とかそういう対策はアフォみたいだし。。。鬱。
タペットマペット使いたいYO!!
struts-config.xmlが肥大化。
DynaActionBeanの設定とか、もういやすぎ。
例の分割管理とかそういう対策はアフォみたいだし。。。鬱。
タペットマペット使いたいYO!!
369デフォルトの名無しさん
NGNG オブジェクト指向の分散管理思想に真っ向から反するStrutsの設定ファイル。
フレームワークが滅びるには十分な理由だ。
フレームワークが滅びるには十分な理由だ。
370デフォルトの名無しさん
NGNG 同じようなやり方で、ISpecificationResolverを実装する方法もあるよ
こちらの場合.page,.jwcと.htmlは同じフォルダに置ける
こちらの場合.page,.jwcと.htmlは同じフォルダに置ける
371デフォルトの名無しさん
NGNG372デフォルトの名無しさん
NGNG >>369
すでにXDocletのようなものもあるし、J2SE1.5からはメタデータという仕組みも組み込まれて同様のフレームワークの設定がやりやすくなるから、いまとなってはあまり問題ないね。
すでにXDocletのようなものもあるし、J2SE1.5からはメタデータという仕組みも組み込まれて同様のフレームワークの設定がやりやすくなるから、いまとなってはあまり問題ないね。
373デフォルトの名無しさん
NGNG ListEditコンポーネント(とKistEditMapクラス)を使って、
Stale Link状態を事前に検出できるようになる仕組みが、
Java Doc API を読んでも
Component Reference を読んでも
Tapestry In Action を読んでも
なぜだかサパーリわからません。
そんな俺はおhる?
Stale Link状態を事前に検出できるようになる仕組みが、
Java Doc API を読んでも
Component Reference を読んでも
Tapestry In Action を読んでも
なぜだかサパーリわからません。
そんな俺はおhる?
374デフォルトの名無しさん
NGNG age
375デフォルトの名無しさん
NGNG 作者が「テスト助けてくれ〜」と悲鳴ageてるわけだが。
376デフォルトの名無しさん
NGNG 名前は結構好きだな。
377デフォルトの名無しさん
NGNG Tapestryはなぜ流行らないのか
ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430.ppt
ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430resume.pdf
ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430.ppt
ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430resume.pdf
379デフォルトの名無しさん
NGNG380デフォルトの名無しさん
NGNG381デフォルトの名無しさん
NGNG わたしの現場では派遣先が開発した独自フレームワークしか流行っていない
作るのいいけどさ、もっとマシなの作ってよ
なんかソース見てると一部のクラスは「ほ〜」という感じでかなりレベル高いのに
のこりのほとんどのクラスは「ヘンなやり方〜」ってかんじ
内緒でインナークラス使って自分達のわかりやすいやり方(てか普通のJavaのやり方)に変えてます
作るのいいけどさ、もっとマシなの作ってよ
なんかソース見てると一部のクラスは「ほ〜」という感じでかなりレベル高いのに
のこりのほとんどのクラスは「ヘンなやり方〜」ってかんじ
内緒でインナークラス使って自分達のわかりやすいやり方(てか普通のJavaのやり方)に変えてます
382デフォルトの名無しさん
NGNG Tapestry
383デフォルトの名無しさん
NGNG Tagestry
384デフォルトの名無しさん
NGNG T
385デフォルトの名無しさん
NGNG Tanasinn
386デフォルトの名無しさん
NGNG tapestory
387デフォルトの名無しさん
NGNG >>377
ナイスだなー
だいたい、高度なアプリケーションにデザイナーがDreamweaver使いたいからという
だらけた理由でプログラマが苦労すること無いんだよ
ページのデザインくらいプログラマだってできるだろ
よって、Tapestryは存在価値なし
ナイスだなー
だいたい、高度なアプリケーションにデザイナーがDreamweaver使いたいからという
だらけた理由でプログラマが苦労すること無いんだよ
ページのデザインくらいプログラマだってできるだろ
よって、Tapestryは存在価値なし
388デフォルトの名無しさん
NGNG >>387
ページのデザインってデザイナが(ユーザーの要望により)ちょくちょく変えるもんだから
そのたびにhtmlいじったりjsp化は非現実的
struts使うのならたとえばJBuilderについてるstrutsコンバータとか使わないと大変
現場知らないお子さまはカエレ
ページのデザインってデザイナが(ユーザーの要望により)ちょくちょく変えるもんだから
そのたびにhtmlいじったりjsp化は非現実的
struts使うのならたとえばJBuilderについてるstrutsコンバータとか使わないと大変
現場知らないお子さまはカエレ
389デフォルトの名無しさん
NGNG Spindleってそんなにええのんか?
しかし、ブツを落とさないと稼動前提条件とかインストールの仕方がわからんのは
致命的。はやらす気はなさそう。
しかし、ブツを落とさないと稼動前提条件とかインストールの仕方がわからんのは
致命的。はやらす気はなさそう。
390デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【🐻ニャー】京都府向日市の「クマ目撃情報」は見間違いか 市が映像確認「ネコに似ていた」 [nita★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- お茶輸出71年ぶり1万トン超 25年、抹茶ブームで急増 [蚤の市★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
