Tapestryについて語ろうよ!

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

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

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

Tapestryに興味ある人レスよろしくね!
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だそうな。
298295
垢版 |
NGNG
>>296 サンクス。
NGNG
>>297
そんなあなたに the National Hockey League

http://www.nhl.com/

Cayenne もあるでよ。
300& ◆LMRaV4nJQQ
垢版 |
NGNG
さて、4/29にTapestry 3.1( & hiveMind)がスタートしたわけだが。
301デフォルトの名無しさん
垢版 |
NGNG
Tapestryでは、StrutsのTilesみたいな機能はないのでしょうか?

Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ
いけないのでしょうか?
NGNG
もうサーバサイドJavaは勘弁して欲しいよ
なんでこんな複雑なものが必要なんだ?
冷静に考えれ
NGNG
馬鹿発見

難しくしならないようにフレームワークがある
そしてTapestryは結構よくできている用に見える

反面、まったくできてないのはドキュメント

個人で作ったツールは出来がよくてもドキュメントがないとか
そういうのはよくあるがそんなイメージに近い

単なる一ライブラリならともかくその上で動かそうってんだから
ドキュメント無いとお仕事にならないよ
NGNG
本質が見えていないバカは303だ。
サーバサイドJava、俺も面倒だと思うよ・・・
全然スマートじゃない。
NGNG
何がどう面倒なのよ?
NGNG
自分の理解不足を、面倒という考え方に転嫁してるやつがいるな。
NGNG
客観的に見て、Webアプリ組むのに、Javaが一番楽チンか?
EJBってカンタン&楽チン?
TapestryとかVelocityとかStrutsとか誰でも簡単にすぐ使える?
俺は人にも教えてるし、書籍の執筆や翻訳したり雑誌記事も書くが
そのたびに内心「あ〜面倒!」と思うよ
逆に、ちゃんと理解してないヤツが何となく「簡単そう」と
思いこんでるだけじゃないの?
やればやるほどマンドクセ
NGNG
EJBが必要なレベルのWEBアプリってあんま無いと思うが

フレームワーク開発はプログラマの品質がピンキリなために
業務ロジックだけに集中させるという目的があるはず

分業考えるとstrutsよりTapestryとかのほうがいいとかそういうお話かと

ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし
その程度なら豊富なライブラリもあるしjsp一本でいいだろう
ただある程度の規模になったとき困る
書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前
NGNG
>>301
http://dorffweb.com/?page=taptutorial
このチュートリアルの第7章のサンプル見ればわかる。


ってだけでもアレなんで。結論からいうと、

  ・ヘッダー/フッターを司るJWCを自分で作って、テンプレートから呼ぶ。
  ・そのJWCの中では、呼ばれたテンプレートの内容を丸ごと書き出す
   Tapestry謹製のJWC "RenderBody" を呼ぶ。

という方法です。

RenderBodyのもっと詳しい説明はコチラ↓
http://jakarta.apache.org/tapestry/doc/ComponentReference/RenderBody.html
NGNG
×呼ばれたテンプレートの内容
○呼ばれたjwcidを持つタグの内容

スンマソン
311デフォルトの名無しさん
垢版 |
NGNG
StrutsやTapestryを一ヶ月の超短納期prjで採用するのが
間違ってる。。。
NGNG
>>311
ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・
313初期不良
垢版 |
NGNG
>>307
WebObjects とか初心者に使わせることを考えたらどうだ?
凝ったことをしなければ非常に簡単に、しかも従っていれば
基本的にきれいな方向に持っていってくれる。そんなフレームワークが
できるならがんばって作ってもいいじゃないか。

そんな WebObjects のフレームワークに一番近い感じの
Tapestry age
314301
垢版 |
NGNG
>>309
なるほど。分かりやすい説明サンクスです。
NGNG
>>311
メンバ全員が使うフレームワークを熟知してれば問題ないんでは。
見た事無いけど。
316デフォルトの名無しさん
垢版 |
NGNG
>>315
Tapestryに限らないと思うけどフレームワーク熟知してる人間は少数で
いいのでわ?
んで、フレームワークとかわかんないけどJavaはかけるぐらいのPGに
ちゃんとした仕様書渡してビジネスロジックを実装させる(もちろん単体テストも)。
あとはフレームワークわかってる人間が組み込めと。
317301
垢版 |
NGNG
教えてクンで申し訳ないのだけど、
HTMLテンプレートやpage specification等のファイルの配置ディレクトリを
カスタマイズするにはどうすればよいのでしょうか?

いくつかのサンプルアプリを見てみたのだけど、常にHTMLテンプレートファイルは
context直下のディレクトリに、それ以外はcontext/WEB-INFのディレクトリに
置かれてた。

それと、
複数の階層(ディレクトリ)を設けて、ページの内容に応じてHTMLテンプレート
ファイルを管理したいのだけど、そんなわがままは許されないのでしょうか?
ひとつのディレクトリにしか置けないと、規模が大きくなったときに管理が
不便じゃない? 複数人での制作だとファイル名がダブらないようにするだけでも
大変かも知れないし。
318デフォルトの名無しさん
垢版 |
NGNG
なんでTapestryを使うの?

ってお客さんに問われたらどう答えますか?
NGNG
JSP拡張で効率化できますよ〜
とでも逝っておけ
NGNG
>>317
だな。
それは漏れも尻鯛w

イソアクショソ読めば、どっかに書いてありそうな希ガス。
NGNG
>>318
開発工数を削減できます。とこたえます。


でも、本当にそれを実現できるには、開発メンバー全員が
Tapestryのことを或る程度まで知っていなければならない罠。
NGNG
>>321
新しいものなんてだいたいそんなもんだ。
そこを乗り越えてなけりゃ未だにみんなアセンブラおんりーで50年前から進歩してないわけだし。

NGNG
>>321
じゃあ削減分、値引いてね♪と言われる罠w
NGNG
>>323
納期短縮をせまられたり。うぅ・・・
そうじゃない、そうじゃないんだ・・・。
NGNG
新技術を使って前より少ない工数でできました(生産性向上)

じゃあ次は値引いて、
じゃあ次は機能増やすね、
、、、


人月の弊害だよなぁ。。。
生産性向上の利益がエンジニアに配分されない。。。
スレズレスマソ
NGNG
>>307
そうなんだよ。激しく面倒。

>>308
勘弁してよ。全員が仕組み理解してないと生産性は上がんないよ。
だからできるだけシンプルに作るべきなんだ。だからEJBは絶対だめ。
自前で必要な分だけ作ったほうが絶対シンプルになる。

>>325
それは模前が選んだ組織の問題だ・・・
Javaのサーバサイド系の技術のほとんどは生産性は上がらないんだよ・・・
NGNG
定期的に湧くアンチがいるな

フレームワークがなかったらあとで修正したりするの大変じゃないか?
みんな好き勝手にdoGetとかでガリガリ書いたりするのか?
開発者が1人2人くらいならともかく100人超える規模とかでそれやられたらたまらんな

初期の開発だけじゃなくて運用後の修正のコストなどもトータルで考えるべきだろう

もちろんEJBが必要な案件もあれば必要がないものだってあるさ
そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか
いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実
NGNG
小規模、短納期にJ2EEは使うなってことで
NGNG
>>327
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。

フレームワークが必要なのは、ウェブのリクエストを処理するところだけじゃなく、
コアな部分においてアプリケーション毎にいくつか出てくるでしょ。100人だろうが
1000人だろうが好き勝手やらないのは当たり前。

フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク
を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方
ってのをもう一度ゼロベースから考え直してみたらどうだろうか。
NGNG
もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ

あほな連中がそういうことやらないで(というか新しいこと勉強してない連中は
フレームワークという単語を知らないらしい)みんなガリガリやるのに慣れているとか
そういうことらしい

まぁ、チームとか会社とか場所によって面白いほど考え方が様々で
そのへん整備されてないところに回されると大変だぞ、と

んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか
そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので
Tapestryもがんばって欲しいなと
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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