Tapestryについて語ろうよ!

■ このスレッドは過去ログ倉庫に格納されています
1Ace
垢版 |
NGNG
JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?

私はTapestry2.3あたりのころにTapestryの存在を知りました。
それまではStrutsでした。
デザイナーを内輪にかかえていない我が社では外注先から戻ってきた
HTMLからJSPへの変換および、再修正依頼が非常に困難でした。
○JSPへの変換ってつまらないよね!
○デザイナーがStrutsの拡張タグ理解できるわけないだろう!
○できたとしてどうやってデザインするの?
そんなあなたにはTapestryしかありません!
ぜひ日本でもこの2chを中心にTapestryの輪を広げて
Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ!

ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v
登録ユーザ○十数万人、売上○千万円程度の規模です。
携帯は全機種対応確認済みです。
携帯のブラウザのバグ的なものに対応するために、
Tapestryのソースいくつか書き換えてるけどね(^_^;

Tapestryに興味ある人レスよろしくね!
197デフォルトの名無しさん
垢版 |
NGNG
パペストリで、画面遷移とかってどういう仕組みになってるの?
いいサンプルかチュートリヤルある?
198デフォルトの名無しさん
垢版 |
NGNG
>○Beginning Tapestry
>ttp://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt

このパワポファイル、勝手に翻訳(駄訳)してみたんだけど、ほしいヤシいる?
一応、機械翻訳じゃないんで日本語になってるとは思われ(w
ただし意味不明な箇所も有り。

なんか、タペってStrutsよりも効率よさそう。
NGNG
>>198
ノシ
200198
垢版 |
NGNG
>>199
ttp://up.isp.2ch.net/up/79de27813b6b.zip
NGNG
>>200
漏れももらった。さんきう。
NGNG
>200
いただきました。ありがとう
203198
垢版 |
NGNG
和訳がおかしいところも多いと思うので、
英語にオタッシャクラブなヤツがいましたら、改修オナ貝。
204199
垢版 |
NGNG
ダウソロードできないよー
205198
垢版 |
NGNG
消えちゃったかな?
他にどこかよさげなウプロダある?
駄訳をちょっとだけ修正したのを再ウプしたひ
NGNG
>>205
Ja-Jakarta に送りつける!
NGNG
>>205
http://kari.to/upload/index.cgi
208デフォルトの名無しさん
垢版 |
NGNG
>>198
iriaで試したら落とせました。
ありがd
NGNG
落とすには Web 割れなみのテクが必要です。
NGNG
あっ、家にパワポないの忘れてた。。。
誰か PDF にしてくだっさいぃ。。。
211198
垢版 |
NGNG
ちょい修正版、再ウプしますた。PDF版込みです。
ttp://marmotfarm.com/cgi-bin/upload2/source/up31226.zip
NGNG
>>211
PDF ありがd! ますます Tapestry ファンになった。
Java野郎、気に入った。
213デフォルトの名無しさん
垢版 |
NGNG
>>211
ダウンロードできないよ
NGNG
http://marmotfarm.com/cgi-bin/upload2/source/up31226.zip
215デフォルトの名無しさん
垢版 |
NGNG
>>214
やっぱ、できないんだけど、うちのネットワークのせい?
216デフォルトの名無しさん
垢版 |
NGNG
>>215
うpろだから消しただけだろ。
217198
垢版 |
NGNG
うpろだから消えまくりですな。。。
とりあえずおまえら、技評から出版されてる「Jakartaプロジェクト徹底攻略2」で、
タペの特集やってますよ!これは買いでつ!
あと、併せてWEB+DB PRESSでは、O/RマッピングのHibernateも特集。
タペ+ハイバネで、楽チン開発・・・・かな?
個人的には、O/RマッピングフレームワークのCayenne(ttp://objectstyle.org/cayenne/)
も気になりマクリマクリスティですよ。

・DBMSのスキーマ情報のリバース
・リバース時にリレーションを自動解決
・DAO層のJavaクラスの自動生成

こんなんができるそうで。
スレ違いですな。。。このネタは、

Java⇔RDBのMapping-Frameworkを語るスレ
ttp://pc2.2ch.net/test/read.cgi/tech/1049030272/

向けでつね。。
218初期不良
垢版 |
NGNG
>>217
スレ違いだけど WOLips 入れたら Cayenne 付いてきてた...
EOF 使うからたぶん使ってないとは思うんだけどね...
NGNG
CayenneでもHibernateでも良いけれど、
WOのEOModeler + WOBuilderみたいに、ロジックとモデルの接続が
マウスグリグリで出来るようなプラグイン、でないかねぇ。
NGNG
↑ここでのプラグインって、Eclipse用でつ。。
221デフォルトの名無しさん
垢版 |
NGNG
age
222デフォルトの名無しさん
垢版 |
NGNG
どうも今ひとつしっくりこない、書籍その他手に入れてみたがやり方が書籍やHPによって違っている。
マー複数種類のやり方があるんだろうが・・・。


どうしても理解できないのが
BaseComponentとBasePageをextendsすることの違いです。これは何が違うんでしょ?


223デフォルトの名無しさん
垢版 |
NGNG
Tapestry って Struts の普及率を超えそうですか?
それとも Struts とは分野が違うものでしょうか?
NGNG
TapestryとStrutsは、MVC分離によって各領域のコンフリクトを
防ぐという目的は、だいたい一緒だと思います。
ただ、アプローチが大きく違うんじゃないでしょうか。

Strutsの大きなメリットは、画面遷移周りをstruts-config.xmlという設定ファイルとして
独立させられるんで、遷移情報を一括管理できるってところ。
デメリットとしては、このファイルがでっかくなっていくってことでしょうか。
Struts1.1からは、SubApplicationという仕組みで、設定ファイルを分割できるようになりましたが。

Tapestryの大きなメリットは、テンプレート上の動的HTML生成の仕組みが
コンポーネント指向ってことでしょうか。デザイナとの連携がうまく考えられてます。
コンポーネントライブラリも必要十分だと思うので、海外なんかではStrutsからの移行組も
増えてるとか。
ただ、まだ日本語の情報はStrutsほど多くないですね。
225デフォルトの名無しさん
垢版 |
NGNG
新しいTapestryのサイト発見
みんなカキコよろ!
http://www.wikiroom.com/Tapestry/
226デフォルトの名無しさん
垢版 |
NGNG
Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」P71で、
-----
なお、アクセッサメソッドのうちsetXXXXX()メソッドの引数は、
どんなデータ型でもオブジェクト名(変数名)をvalueとしておかなくてはなりません。
-----
と、書いてあるんだけど、意味がわかりません。
引数の変数名に決まりがあるなんて、JAVAではありえないんだけど?
著者の沖林氏、この文の意味を解説もしくは修正してください。
NGNG
それは「Javaでは」ってよりも、
タペ自身が動的にアクセッサメソッドを処理するための
ルールってことではないの?
NGNG
>>226
リフレクション使えばありえんことは無い。
ってかリフレクションはフレームワークでは結構使われるでしょ。

で、Tapestry ではどうなのってのは知りまそん。
NGNG
今日から試してみてるんだけど、
WOみたいにURLはSessionIDだけにならないのかな?

http://localhost/app?service=page/xxxx
だと、任意のページに自由にアクセスできてしまうよね?
NGNG
Mevericは?
231デフォルトの名無しさん
垢版 |
NGNG
>>229
自由にアクセスしてもらっちゃ困る全ページにvalidateかValidateListenerつけて
セッションかVisitを確認して、もし認識できなかったらログインページに
PageRedirectExceptionすればよろし。

AbstractPageをextendsしたAbstractAuthPageでも作ると楽できるっす
232229
垢版 |
NGNG
>>231
なるほど、そういう工夫が必要なんだね。

WOを参考にしてるとはいえ、やっぱり結構違うな〜。
233デフォルトの名無しさん
垢版 |
NGNG
>>198
最近このスレ知りました。
PDFも一回うpしてもらうことかのうでせうか。。?
NGNG
>>233
漏れがパワポの駄訳&PDF変換してみたんだけど、
こんなクソ資料見るよりも、「Jakartaプロジェクト徹底攻略2」を買ったほうが
なんぼもマシ(w
235233
垢版 |
NGNG
>>234
そうですか。「Jakartaプロジェクト徹底攻略2」は買いました。
あれだけだとなんか痒いところに手が届いてない感じがして。
今までずっとStrutsだったので乗り換え考え中です。
NGNG
HTML テンプレートから Page クラスのアクセッサのコードを生成したり
できますか?
237デフォルトの名無しさん
垢版 |
NGNG
>>236
出来ません!
NGNG
ああ、キャロル=キングね。懐かしいなぁ。

You've gotta friendとか大好きだよ。
239デフォルトの名無しさん
垢版 |
NGNG
You've gotta hivemind
NGNG
JSFとどっちがすごいの?
NGNG
Tapestry のほうがすごい。
これで満足か?
242デフォルトの名無しさん
垢版 |
NGNG
Eclipse Plugin Spindle の Hello World
ttp://www.wikiroom.com/Tapestry/?HelloWorld
NGNG
@ShowErrorって、Strutsでいう<html:errors />なんだろうけど
saveErrors() に対応する方法がよくワカラン。
とりあえずdelegateを定義して、delegate.record("エラーですよ", 〜) にしてるけど
公式ドキュメントすら作りかけだからなぁ。 workbench.warを分析しつつ悩む俺。
NGNG
なんか *.page 書くの面倒だね。もうちょっと簡単にならないものだろうか。

ページ用のクラス内のメソッド名の接頭辞と、jwcid の接頭辞を関連付けて、
さらにコンポーネントタイプもその接頭辞で決め打ちしてしまって *.page の
コンポーネント宣言は必要なし、とかにならないかなあ。

使い始めてまだ間がないので、おかしなことを言ってたらすいません。
245初期不良
垢版 |
NGNG
>>244
どういう事を望んでいるのかいまいち分からんけど
spindle 使ってもだめなん?
246244
垢版 |
NGNG
まさに Spindle を使っているのですが…。.html とクラスを関連づけるもの
として .page を見たとき、なんか微妙に冗長な気がしたんですよね。

でも html にロジック記述がめちゃくちゃ減るので、これはこれでいいのか。
XML に慣れてないだけなのかな?

この仕様だと、Spindle でクラスを書いて、getter とか setter のメソッド
名を選択して .page に反映とか、 .page に存在しない name を使ったコンポー
ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる、
とかすると嬉しいなあ、と。

(使いはじめて 5 時間でそんなことを言いだして…)
NGNG
Eclipseプラグインでさ、
Tapestryのコンポーネントと、Hibernate側オブジェクトと、ビジネスロジック中のオブジェクトを
Drag&Dropでグリグリっとバインドできるようなものがあったら面白そうだなぁ。
フリーなWebObjectsって感じで。
NGNG
>>246
> .page に存在しない name を使ったコンポー
> ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる

X印だけは出るね。 存在しないクラスにもX印が出る。
Ctrl+Spaceで補完すると、ちゃんとjavadocみたいな説明が出るんで、だいぶ助けになってるな。
ただ、htmlとpage、pageとクラスみたいな連携が弱い。 コンポーネント、プロパティ、リスナーを定義して
こっちはabstract、こっちはこのロジック、これはVisitへ、とか付け替えできると嬉しいなぁ。
249デフォルトの名無しさん
垢版 |
NGNG
WEB-DBのTapestry徹底入門を読んだ。
あの例題だけでは、submitで呼び出される
メソッドの中で遷移するページを指定する方法が
わからない。

誰か教えて。
NGNG
public void formSubmit( IRequestCycle cycle ) {
  cycle.activate( "hogehoge" );
}
NGNG
>>250
Thanks!

StrutsもTapestryも使ったことがないのだが、
雑誌を読んだ限りでは、Tapestryのほうが良い
感じがした。
252デフォルトの名無しさん
垢版 |
NGNG
>>249
PageLinkの場合は>>250でいいけど、
ExternalLinkやDirectLinkのようにパラメータを渡したい場合はこういう方法もあるよ
NextPage page=(NextPage)cycle.getPage("NextPage");
page.setMail(getMail());
page.setTel(getTel());
cycle.activate(page);
page.formSubmit(cycle);
253デフォルトの名無しさん
垢版 |
NGNG
Tapestry のRelease 版ってまだ出ていないのでしょうか?
MileStone 版だけ?
NGNG
Validateってどうすんのよ
NGNG
>>254
ValidFieldコンポーネントなどを使う。
でも、ちょっとめんどくさいな。
エラーメッセージをロケールによって変える方法が分かんねぇ。
NGNG
>255
β版についてた、User'sGuideになんか載ってた気がする……>ローカライズに関して
自宅なもんで資料みつからねぇ。すまん。
257デフォルトの名無しさん
垢版 |
NGNG
Joey ってどうよ。定義ファイルから pageクラス、ページ仕様、
ページテンプレート、DAO 自動生成。

ttp://joey.sourceforge.jp/features.htm

見る限りスゲーと思ったけど・・・
定型的な画面構成だったらいい楽そうだ。
NGNG
>257
んーーー。
とりあえず、Tutrial印刷して読んで見るわ。
俺は、こういうの好きだけど。
259258
垢版 |
NGNG
とりあえずチュートリアルは読んだ。
面白い取り組みだな。こういういたせりつくせりなのは日本人向けだと思う。
ただ、まぁまだ全然できてねぇじゃん?文書とか。サイトとか。
3ヵ月後を楽しみにしとくよ。
NGNG
>>259
出来て間がなさそうだから、いろいろ方向転換しそうだね。
他色々ググってたんだけど、これタペと組み合わせどう?

ttp://seasar.sourceforge.jp/
ttp://lists.sourceforge.jp/mailman/archives/seasar-user/2004-March/thread.html

Seasar って前は AP 鯖だったけど Seasar2(S2) でコンテナに
なってタペと組み合わせやすいみたい。未完成だけど。
ML になぜかタペ好きが集まってきてる。
261254
垢版 |
NGNG
>>255
レスさんくす。
例のJakarta本2にはValidateについて
書かれてなかったから気になってた。

あとは例外処理だけかな、気になるのは。

一応、どこかに書かれたHelloworldを試してみたけど
なかなか簡単に出来た。で、気になってきた。
NGNG
あと S2 の作者は 2chネラーみたい。ML の中で
もまいら自由に書き込め とか。
NGNG
S2のRC1でたね
264102
垢版 |
NGNG
3.0-rc-1でてる
265258
垢版 |
NGNG
Spindleもrc-1にあわせた内容(Ver3.041)になってるな。
updateサイトでいかんとVerUPできないが。
NGNG
すまん、教えてくれ。
>249 みたいにsubmitで飛ばす時、外部にすっとばす(Yahoo!とか)場合はどうするんだろう?
267デフォルトの名無しさん
垢版 |
NGNG
>>266
public void formSubmit(IRequestCycle cycle){
throw new RedirectException("http://www.yahoo.co.jp");
}
268デフォルトの名無しさん
垢版 |
NGNG
すでにNECから同じコンセプトのデザインシンセサイザという製品が出ているが、特許とか大丈夫なの?
NGNG
元ネタはApple (旧NeXT)なワケだが
NGNG
WebObjectsが内包している、WebObjects Framework(WOF)に
触発されたって開発者自ら名言してるしね。
「テンプレ+対応ソースコード」
っていう構成はよくあるけど、
「テンプレ+対応ソースコード+オブジェクトとテンプレ内要素のマッピング」
っていうのは、柔軟で(・∀・)イイ!
でも、管理ツールが無いと、ファイルが増えてきたときに大変。
271デフォルトの名無しさん
垢版 |
NGNG
age
272デフォルトの名無しさん
垢版 |
NGNG
復旧おめでとう(・∀・)イイ
273
垢版 |
NGNG
Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」のサンプルが動かないよ・・・。
誌面の手順どおりに作成しているのに、404だ。

Tomcatのweb.xmlにも設定が必要なの?
274デフォルトの名無しさん
垢版 |
NGNG
復旧おめでとう(・∀・)イイ
275273
垢版 |
NGNG
ognlとjavaassistが無かったことが原因だった。
いつ、別パッケージになったの?

ていうか、Spindleの方は全部はいっとるやんけ!
NGNG
保守age
NGNG
3.0RC3出てるね
278デフォルトの名無しさん
垢版 |
NGNG
>>275
Tapestry配布アーカイブ内のlib以下の全jarファイルをコンテナのクラスパス中に含めろって記事に書いてあったような。。。
そんなおいらは記事のEclipse開発のところを参考に
プロジェクトフォルダをTomcatのコンテキストとして登録してみましたが、
Degesterの例外でTomcat4.1がTomcatプラグインから起動できなくなりました。

まだ枯れてない技術、か。
279
垢版 |
NGNG
>>273
http://www.gihyo.co.jp/book/2003/232161/support/list1.html
NGNG
Tapestryと相性が良いO/Rマッピングフレームワークって、Hibernate? Cayenne?

Googleでのヒット件数はTapestry+Hibernateの方が多いけど、
WebObjects 的な作りが為されているのは Cayenne らしいし。
NGNG
Cayenneは、自身にDBスキーマ構造をリバースしてくる機能があるみたいだからね。
WebObjectsってよりは、EOF的ってことなんだろうかね。
282デフォルトの名無しさん
垢版 |
NGNG
未アナウンスですが。

3.0キタ━━━━(゚∀゚)━━━━ッ!!
既に幾つかの鯖に上がってるYO!!
NGNG
Tapestryの場合







欲しいのは最新バージョンではなくてドキュメント類
ドキュメントさえそろえばstrutsより遙かにいいのに・・・
284デフォルトの名無しさん
垢版 |
NGNG
あと知名度&実績モナー

開発者から支持されても、採用にはちっともつながらん

NGNG
公式ドキュメントも新しいのは殆ど無くて、「ソース読め」 って感じだと
中々追いかける時間も取れないので、採用しようにも判断しようがない。
286初期不良
垢版 |
NGNG
やっと触り始めたーよ。
何とか Tomcat プラグインと Spindle で
Eclipse から Tomcat を起動させて開発中のものを
動作させるところまできた。
Tomcat の設定で JVM オプションに
-Dorg.apache.tapestry.disable-caching=true
を追加して HTML のキャッシングもオフに。
Tomcat の再起動も少なくなって、これでガシガシ
テストできるかな?
287初期不良
垢版 |
NGNG
あ、参考文献
ttp://www.wikiroom.com/Tapestry/?HelloWorld
ttp://www.saisse.jp/pukiwiki/pukiwiki.php?Tapestry

それと、Tapestry の jar ファイル配置の問題だけど
http://www.wikiroom.com/Tapestry/?HelloWorld#content_1_9
に書いてある
context/WEB-INF/lib
TOMCAT_HOME/shared/lib
のどちらかに置くという二つの方法があるらしいけど
どっちにしてます?
288デフォルトの名無しさん
垢版 |
NGNG
shared/lib派です。(^o^)/
起動が早いよ
289デフォルトの名無しさん
垢版 |
NGNG
というか日本語のTapestry,Spindle関係の情報って
Tapestryの最も簡単に使えて便利なRedirectFilterについて
まったく触れてないよね
web.xmlに書くだけなのになー
Spindleが標準対応するのを強く希望ですね
NGNG
>>289
なんだか /hoge/app にトンじゃうあれのことね。

Google で全言語248件 / 日本語0件ってすごいな。
NGNG
あと遅レスだが

>>226

特集記事の筆者が仕様を 思 い っ き り 誤 訳 してるだけの話らしい。

あとuploadの例で \n 出力するのは(あのケースだと)ちゃんと意味が有るのに、
あたかも意味が無いような注釈入れております。

NGNG
>>291
やっぱそうだったのか >変数名をvalueにしておかなければならない

なんでリフレクションなのにローカル変数名まで限定できるんだ? と謎だったが。
293& ◆D3ra0B2LiQ
垢版 |
NGNG
スピソjの話題もここでよいのか?
NGNG
>293
いいともー。

TapestryのWikiにも同じ間違い書いてる奴いたなw>value
NGNG
spindle プラグイン入れた状態で、
配下の web.xml にTapestryのApplicationServlet を複数指定すると
×印だされるんだけど、これって Tapestry のほうの仕様なのか、
spindle のほうのバグなんか、どっちなのでせうか?
296デフォルトの名無しさん
垢版 |
NGNG
>>295
Spindleのバグではなくて、Spindleの仕様だよ
テンプレートのチェックするためにはサーブレット1つじゃないとめんどくさいのさ
NGNG
https://betterpetshop.dev.java.net/
Tapestry, Spring, Hibernateで作り直したPetShopだそうな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況