Tapestryについて語ろうよ!
■ このスレッドは過去ログ倉庫に格納されています
JakartaのTapestryフレームワーク使ってますか? 日本ではなかなか情報が手に入らず、本家のドキュメントも 古いバージョンのままなので、使いたいと思って挫折した人多くありませんか? 私はTapestry2.3あたりのころにTapestryの存在を知りました。 それまではStrutsでした。 デザイナーを内輪にかかえていない我が社では外注先から戻ってきた HTMLからJSPへの変換および、再修正依頼が非常に困難でした。 ○JSPへの変換ってつまらないよね! ○デザイナーがStrutsの拡張タグ理解できるわけないだろう! ○できたとしてどうやってデザインするの? そんなあなたにはTapestryしかありません! ぜひ日本でもこの2chを中心にTapestryの輪を広げて Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ! ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v 登録ユーザ○十数万人、売上○千万円程度の規模です。 携帯は全機種対応確認済みです。 携帯のブラウザのバグ的なものに対応するために、 Tapestryのソースいくつか書き換えてるけどね(^_^; Tapestryに興味ある人レスよろしくね! Velocityとの併用はできまっか? JBOSSとの併用、 Turbineとの併用、JSFとの併用もできまっか? >>4 TapestryはTomcatから見ればただの1サーブレットなので、 他のサーブレット、フレームワークとの共存?(同じWEBアプリ内で使う意味)はもちろんできるよ! ただTapestryはURLをフレームワークが生成するという概念なので、 Tapestryアプリ(ページ)からStrutsアプリ(ページ)へのリンク 特に動的パラメータつきのサーブレットを呼び出したりするのは、 知っていれば簡単だけど、ちと習得に時間がかかるかな。 逆(StrutsからTapestryへのリンク)は拡張タグlibがついているので簡単だよ! ただしTapestryテンプレートの中にJSPのような<% %>は埋め込んでも無視されます! >JakartaのTapestryフレームワーク使ってますか? >日本ではなかなか情報が手に入らず、本家のドキュメントも >古いバージョンのままなので、使いたいと思って挫折した人多くありませんか? こういう状況では使いたいと思っても「挫折」という感覚はないなぁ。 俺は explorer ではない単なるへたれなので、世にこなれてくるまで放っておく。 こなれてれば英語でも開発ストップしてても使う。 TapestryとStrutsの比較 リンク Tapestry:<a jwcid="@PageLink" page="Next" href="Next.html">Next</a> Struts:<html:link page="Next">Next</html:link> 文字列の出力 Tapestry:<span jwcid="@Insert" value="ognl:msg">エラーメッセージ(仮)</span> Struts:<bean:write property="msg" scope="request"/> HTMLテンプレート拡張子 Tapestry:.html Struts:.jsp 実行時は同じでも、デザイン時はどちらがブラウザやオーサリングツールに やさしいかは一目瞭然! >>8 Strutsは既存のHTMLを拡張タグに書き換える手法だから、 実行して初めてどのタグに変換されるか確認できるが、 Tapestryは既存のHTMLタグに存在しない属性にパラメータを渡すから、 実行しなくても容易に実行時のイメージがブラウザで確認できるという意味かな? Tapestryって日本で使ってるやついるの? いいサイト教えてくれ! おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ いいか?これは、どのフレームワークにもいえることだが Tapestryを使うためにアプリ作るわけじゃないだろう? アプリ作るためにTapestryを選択するわけだ。 だけどよ、Tapestryを選択しないといけないようなアプリってどんなのよ? スレ立てるほどの需要があるとは思わないが >>3 同意 >>13 概ね同意だが、独りよがりで馬鹿っぽい。 >>13 デザイン重視の会員向けWebサイト(アプリ) デザインが定期的、もしくは割と頻繁に大きく変更されるWebサイト(アプリ) 拡張タグを理解するのが苦手なWebデザイナーをかかえているシステム会社 拡張タグを認識できないWebオーサリングツールを使用しているデザイン会社にWebデザインを外注するシステム会社 なんかの場合どうでしょう? Strutsを選択しないといけないようなアプリの方が少ないと思うが? Strutsにしても、Tapestryにしても、 拡張タグを使わせるフレームワークは個人的には嫌いだし、 何年か経つと単にお祭りで終わっている気がする。 プレゼンテーション層は、 HTMLタグ jspタグ(あるいはJSTL) だけで構成すべきだと思う。 もちろん、Beanを使用して、コントロールサーブレットで 構築するMVC手法は守るんだけど。 >>15 デザイン重視って言う意味がわからない デザインなんて関係ないじゃん。 TapestryでできることはJavaScriptだってできる。 Tapestryがページ単位で選べるのだったらいいが それは難しいだろう。 >>17 TapestryはサーバーサイドでJavaScriptはクライアントサイドだから 同じことはできなくない? それともIISのASPの場合の話かな?それでも意味わからないけど。 たとえばデザイナーが複雑なJavaScriptとかを組み込んだHTMLをJSPに変換して、 実行時の結果がWebオーナーの期待していたのと違う場合、再修正がかかるだろう? そのとき、デザイナーに直してもらうファイルは元のHTML?それとも拡張タグを埋め込んだJSP? 当然元のHTMLを修正してもらって、その後プログラマーが前と同じようにJSPに変換するよね <%@page contentType="text/html; charset=Windows-31J"%> <%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> を挿入し、 <a href...></a>を<html:link page="...></html:link> <form action...><input...></form>を<html:form...><html:text.../></html:form> に変換するよね? 機械的にできるものもあるけど、logicタグのほとんどは機械的にできないよね。 ページが増えたり、デザイナーがファイルを書き換えるたびに この作業するのありえなくない? 人間しかできないけど人間のすべき仕事じゃないだろう? それともそういう仕事は君には回ってこないのかな? TapestryだったらTapestryの拡張属性を埋め込んだままデザイナーに渡せるよ。 デザイナーが編集するファイルと実行時のファイルが同じだからできるのさ。 >>18 ちょっとずれてしまうが Webフォームとどうやって連携するの? TapestryつかうとStrutsとか当然使えないと考えての質問です 共存は出来ないんでしょ? ●●●Tapestry入門&実践講座@2ch●●● JAVA Worldもいいけれど、ネットの技術はネットで学べ(某氏の格言) つーことでTapestry入門&実践講座(完全無料)をここ2chで行いたいと思います。 質問は常時OK!詳しい人はレスも期待します。 私にも記事か本書かせてよm(_ _)m>JAVA World、他出版社様 ●修了目標時期:JAVA World第3回が出るより前に終わらせる(^_^; ●対象者:Strutsを使ってWebアプリを作ることに何かしらの不満がある人 ●目次: 1.Tapestryとは(Strutsとの比較) 2.フォルダ構成(Eclipse&Spindle) 3.Hello World 4.現在時刻 5.文字列出力コンポーネントの使い方 6.ページ仕様ファイルの記述 7.アプリケーション仕様ファイルの記述 8.ページクラスの作成方法 9.コンポーネントの使い方全般 10.リンクコンポーネントの使い方 11.フォームコンポーネントの使い方 12.IExternalPageインターフェース 13.PageRenderListenerインターフェース 14.JDBC(JNDI)を使ってDBアクセス 15.StrutsアプリからTapestryへの移行 16.独自コンポーネントの作成 以下を知りたい人は私が本を出版するのに賛同して下さい。(^_^; 有料情報 ○Tapestryの欠点・バグ・修正方法(割とお勧め! 3万円相当) ○Tapestryで携帯Webサイトを作る(かなりお勧め! 10万円相当) ○Tapestryで携帯&PC共存サイトを作る(割とお勧め! 3万円相当) ○Tapestry+EclipseUMLを用いた設計・開発(かなりお勧め! 10万円相当) ○TapestryにJDBC機能を持たせる拡張方法(割とお勧め! 3万円相当) ○デザイナーとの連携 まぁ、WebObjectsのWOFのパクリなわけだが、 WOは嫌いではないので期待してはいる。 いいんじゃないかい、これ。 >>22 出版するには期待しないけど、 ちゅうーかやるなよ。 Tapestryについてかたるのは、OK ところでTapestryはサーバーサイドプログラミングの 「WEBプログラミング」板の方がいいんじゃないの? http://pc2.2ch.net/php/ 板違いモゲホゲ もう、いいだろ? 開発スピード落としてまで使うことはない。 素直にStrutsか.NET使った方が開発スピード速いよ。 >>30 開発スピードは変わらないと思われ。 変わると思うなら根拠を述べよ。 Tapestryのいいところは、デザインとロジックの 分離がきれいにできているところじゃないかなぁ。 それぐらいだけどね。 >>31 Tapestry覚えるのに時間かかりますよね? 今、習得している技術でTapestryと同じ事できないか? おれはASP.NET(C#)、Struts、Tapestry、Struts+Tapestryで色々試したし 雑誌記事もよんだ。 ココであえてTapestryを選択する意味は何だ? 『それぐらいだけどね』のために、新たに学習するのは コストかかるよ。 それに>>18 が言っているような開発現場のほうがおかしい なんでデザイナーとプログラマがああいう関係になっているのかわからん >(そのとき、デザイナーに直してもらうファイルは元のHTML?それとも拡張タグを埋め込んだJSP? >当然元のHTMLを修正してもらって、その後プログラマーが前と同じようにJSPに変換するよね ) 雑誌の記事の受け売りなのかは知らんがそんな現場あるのか? もっと頭使って仕事分けてほしい。 >>32 ごめん、漏れその辺何も触ったことがないんだが、 ズブの初心者だと、Tapestryとそれ以外だとどっちがいい? 何となくTapestryは直感的にわかりやすそうな気がしたので 気になっていたんだけど、>>32 を読んだら他の奴の方が いいのかなという気がしてきた。 >>33 最初からTapestryやるのなら何も文句いわないよ ましてや、趣味でプログラミングなら何も文句はない。 俺はStrutsやNETの方が全体的に浸透しているという前提で話しているだけだから。 しかも俺が言ってるのはフレームワーク自体の優劣の事は言っていない。 ただ、Java系ならStrutsは知っておいた方がいいかもしれない Tapestryってあまりサーブレット的なプログラミングではないので サーブレットの仕組みを知るためにStrutsからやった方がいいとは思うけど。 >>18 それみるとさ、 strutsでVelocityを使えばいいのでは? と思うんですがどうですか? >>32 なんだ。 技術を習得する噺家。 あんなもん、三日あれば理解できるだろ。 基本的なこと以外は、コンポーネントの設定の話だから。 デザイナとプログラマの話し出てたけど、 デザイナがHTML以外を使う話は聞いた(経験した)ことない。 プログラマが、JSP直でいじっている以外は、 デザイナが作ったHTMLをプログラマが毎回 JSPに変換しているはずだよ。 ドリがJSPを理解できるなら別だけどな。 というわけで、JSFも糞だな。 ドリってなによって聞くなよ。 しかし、どうもプロジェクト乱立しすぎじゃないかと思う。 一つ一つは覚えれば、複雑でわからないといったことはないが、 Jakarta全体で将来、どうしたいのかが判りにくい。 特にVelocityとTapestry、微妙にかぶっているとこもありそうだし、 Jakartaは調整が必要な気がする。 個人的には勝ち残りフレームワークしか使いたくないし。 確かにCommonsなどを見るとXML関係が妙に乱立しているね。 けどオープンソースにそういう調整は要らないよ。 要るとしたら見た目だけの調整や、 どれがどのような用途に向いているのか、 どれがどれとどう違うのかをはっきりと明示するなり 用途に合わせたお勧めを紹介してもらうが吉。 商用アプリじゃないんだしオープンソースに勝ち残りなんて関係ないさ。 使われない技術が消えると言うこともまずないさ。 消えたとしても名前が変わったとか他の技術と融合する程度さ。 それに不満があるなら自分で改良すればいいさ。 とりあえず、英語のリソースを翻訳することから始めよう。 …と思って見に行ったら、いきなりTutoriaとDeveloper's Guideがout of dateだったよ。 >>35 ●●●Velocityの例 <table> #foreach( $mud in $mudsOnSpecial ) <tr> <td>$mud</td> </tr> #end </table> ●●●Strutsの例 <table> <tr jwcid="@Foreach" source="ognl:mudsOnSpecial" value="ognl:mud" element="tr"> <td><span jwcid="@Insert" value="ognl:mud">ほげほげ(仮)</span></td> </tr> </table> VelocityとTapestryの違いわかりますか? テンプレートファイルを直接ブラウザで見ると、Velocityではtableタグとtrタグの間に文字があるから ロジックが目に見えるでしょう。 Tapestryの場合、trタグやspanタグの属性にロジックを埋め込めるから、 テンプレートの見た目と実行時の見た目がほぼまったく同じなのです。 画像貼り付けられないのが残念ですが、信じられないならお試しあれ。 Exciteで日本語に翻訳したやつなら作ったよ 直訳だとほとんど意味不明 StatelessとかStatefulが「州」になるのが特にイケテなかった 欲しかったらbase64で貼り付けるけど? >>44 俺宛のコメント? 俺は要らないよ。英語読めるから… >>20 > ●●●メイン●●● > ○Tapestry本家 > http://jakarta.apache.org/tapestry/ をみるとJavaScriptを使ってメリットを力説しているみたいでワラタ http://jakarta.apache.org/tapestry/quotes_frame.html >「タペストリーは、JSF、支柱(struts)およびその他同種のもののようなフレームワーク >からの鼻水を殺そうとして襲います」 >私が働く会社はカナダ研究協議会と研究計画を行いました。 >>また、私たちは、私たちが行っていた技術的な危険計画のための >ウェブ・サービス、J2EEおよびデータ・ベース・システムを調査して >数か月を過ごしました。それから、私たちは3つのものを学習しました: >ウェブ・サービスは未熟でした。 この引用記事を見るとかなり宣伝しているみたいだね。 他のプロジェクトに比べると異様なほど宣伝が多いのはなぜだ? Tapestryで商売でもやってるん? HTMLやXMLに限定することからJava以外にもどんな言語にも使えるんだね。 PHPでも使えるとはいえServletコンテナ使用することが大前提なんだね。 Velocityとはそのあたりが異なり微妙だ。 なんでServletが必要なんだろう。 ドキュメントをまだよくよんでない、実際に使っていないのでまだよくわかんない。 簡潔な説明できたらよろ >>48 TapestryはURL自体をフレームワークが管理する。 設計者・開発者は、<a>リンクが「どのページ」へ「どのパラメータ」を渡すかだけを指定し、 実行時にどんなURLやクエリパラメータになるかということは、ユーザーも開発者も詳しく知る必要がない。 具体的に言うと ●●●JSPの例 ○テンプレート <a href='<%=response.encodeURL("/login.jsp?username="+username+"&password="+password")%>'>login</a> ○実行時 <a href='/login.jsp?username=hogename&password=hogepass'>login</a> ●●●Tapestryの例 ○テンプレート <a href="Login.html" jwcid="@ExternalLink" page="Login" parameters="ognl:{username,password}">login</a> ○実行時 <a href="/app?service=external/Login&sp=hogename&sp=hogepass">login</a> という風にテンプレートと実行時のURLの見た目が似ているのがJSP、 実行時のURLをまったく意識しなくていいのがTapestry。 この特徴はたとえばクエリーパラメータ名を1文字間違えて <a href='/login.jsp?usermame=hogename&password=hogepass'>login</a> としてしまうようなよくあるケアレスミスの発生を防ぎ、 URLを文字列の連結として扱うという本質的でない作業から開発者を開放する。 もちろんTapestry外部のサーブレット等を呼び出すために、 JSPと同様な方式でクエリーパラメータを1つずつ指定する方法もできないわけではない。 >デザイナとプログラマの話し出てたけど、 >デザイナがHTML以外を使う話は聞いた(経験した)ことない。 まだあるのか?そんな職場・・・ フレームワークどうこう言うより 開発現場のやり方がおかしい そういう分野の最新技術は追い求めないのですか? >>36 お前開発者なのか? >三日あれば理解できるだろ。 3日ってなによ?3日も時間費やしてなんとも思わないの? >>39 プロジェクト乱立は別にいいんだよ ただよ、それを記事で取り上げる雑誌が悪いと思う 他にネタがないのだろうな多分。 でもって、それを読んだ読者が影響されてしまう。 最初の頃は良かったが、どの雑誌もJakarta取り上げるようになって 大して役に立たないものまで紹介する始末。 >役に立つかたたないかは人による その程度のもの偉そうに取り上げて欲しくないね 他にTapestryのお勧め意見ください >>31 >「Tapestryのいいところは、デザインとロジックの 分離がきれいにできているところじゃないかなぁ。 それぐらいだけどね。」 ↑みたいにたいして説明できていない昨日今日使ってマンセーってのは参考にならん >>57 へえー。 昨日、今日使ってどうなんて関係無いだろ。 別にTapestryまんせーでもないよ。 これまで、JSPとHTMLの変換で大変だったから、 こういうアプローチだとうまくいくのかと思っただけ。 >>51 現場でさ、JSP書くデザイナなんかいないって。 開発者が書いているのは別だよ。 イントラなら十分にありえる。 最新技術を使ってたら なんて どういう技術よ。 >>57 Tapestryはテンプレートの中にデザイン用のダミーデータを入れられる。 特にTableタグで効果を発揮するが、 <table border> <tr jwcid="$remove$"> <td>山田</td><td>太郎</td><td>yamada@tarou.net</td> </tr> <tr jwcid="@Foreach" source="ognl:userdata" value="ognl:user" element="tr"> <td><span jwcid="@Insert" value="ognl:user.lastname">名字(仮)</span></td> <td><span jwcid="@Insert" value="ognl:user.firstname">名前(仮)</span></td> <td><span jwcid="@Insert" value="ognl:user.mail">メール(仮)</span></td> </tr> </table> 実行時は$remove$で囲まれた <tr jwcid="$remove$"> <td>山田</td><td>太郎</td><td>yamada@tarou.net</td> </tr> は出力されない。 また@Insertで囲まれたダミーデータ(名字、名前、メール)も出力されず、 ロジックのJAVAクラスであらかじめ用意された user.lastname、user.firstname、user.mailの実データで上書きされる。 spanタグも消去される。 完全にデザイナーがプレビューに使用するためだけの機能が標準でついているところが違う。 もちろんJSPでも<%if(0){%>ダミーデータ<%}%>と記述すればダミーデータを入れられるのだが、 そんなことする人はいないという現実を見ましょう。 これまたエスケープシーケンスの取り扱いが 面倒なことになりそうや $や@を直に入力して使えんじゃないか わざわざ&を&とか>を>とか<を<とかに置き換えるみたいに $や@もエンティティ参照で置き換えねばならんかい? 2chブラウザがかってに置き換えた? &を &amp; >を &lt; <を &gt; とかにおきかえるってことで >>60 その必要はなし! $と@を使う予約ワードはjwcid属性の値のみだから、 jwcid="$remove$"とかjwcid="@ExternalLink" という風に数もたかだか知れている。 他の場所に$とか@があったらそのまま文字として出力されるよ ちなみにロジックで生成した文字列の中に&、>、<、が入っていて それを@Insertで出力する場合は自動的にHTMLエンコードして &amp;&lt;&gt;として出力されるのは <bean:write>と同じです。 しかしどこかでエスケープを気にしなければならない部分があると思うのだが どこなんだろう? >>58 >現場でさ、JSP書くデザイナなんかいないって。 誰もこんなことやれって言ってない。 頭使って仕事分けろ。って言ったんだ。 その答えが「デザイナがJSP書く」なら何も言わないけどよ。 おまえら、デザイナと完全に分業してるの? 話しもしないの?話するのウザイとか思っている職場ですか? >>59 これはメリットだと思うのだけど、Struts Tilesのようにページをパーツごとに 分割している場合、ブラウザではちゃんと表示されないよね。 結局サーバを介して確認しなくちゃいけない。 >>67 それはむしろ当たり前なんだけど、それでもダミーデータでそれらしく デザインするとか、もしくはダミーヘッダ・フッタと言うべき機能がある <html> <script> function hoge(){} </script> <body> not for content of Tile but only for Design <span jwcid="$content$"> content of Tile content of Tile content of Tile </span> not for content of Tile but only for Design </body> </html> 上の例は実行時には$content$で囲まれた content of Tile content of Tile content of Tile しか出力されません。デザイン時には当然すべてのデータでデザインできます。 >>66 うちの会社はデザイナーいないよ。 外注先デザイン会社の営業の人とは話するけど、 デザイナーとは直接コンタクト取れないね。 Tapestry入門実践講座 1.はじめに サーバーサイドJavaにおける、サーブレット+JSPのコーディング自由度の高さに起因する数々の問題点から、オープンソースフレームワークを用いた開発手法への期待が高まっている。 その中で、現在日本で最も使用されていると思われるStrutsフレームワークを用いて、デザイン(ビュー)とロジックを分離することの利点に対しての理解も今や周知の状況と言えよう。 しかしながら、実際の開発現場、特にHTMLデザイナーとWEBプログラマーが完全に分業しているシステム会社でのWebアプリケーション開発、保守手順から考えると、 StrutsはJSPの根本的な欠点を克服できていない。 つまり、HTMLデザイナーが使用するメジャーなWYSIWYGのHTML編集ソフト(HomePageBuilder等)はスクリプトレット、拡張タグをほとんど解釈できず、 WEBプログラマーの地道な作業により、1つずつHTMLタグから拡張タグへと書き換えていることだろう(なんと単調でつまらない作業なことか!) これは今後主流になる可能性が高いJSFもほぼ同じ欠点を持つ可能性が高い。(開発者の声を聞け!) この講座では、Strutsを用いたMVCスタイルの開発への期待と絶望を体験したWEBプログラマーに対して、海外で人気が高く、Struts対抗馬と言われつつあるTapestryフレームワークを紹介し、 このフレームワークを用いることによって、よりビジュアルに、デザインの自由度と再利用性、HTMLデザイナーとの完全分業スタイルへの手助けとなることを期待する。 Tapestryのソースを見ると、 CVSでヴァージョン管理するときに $$記号でソースコード内にヴァージョン番号などをつけるのが難しくなると 思うのだが、 そういう場合はどうすれば言いのだろうか? Tapestryで本番JSPに変換するときだけCVSの$Id$などをはずすように チェックアウトせなあかん? >>72 TapestryはJSPではないのでそもそも「変換」という作業は必要ないよ 実行時に見せたくないなら <span jwcid="$remove$">$Revision$ $Date$</span> か <span jwcid="$remove$">$Id$</span> とでも頭に入れるといいよ しかあし、たとえばこんなことをやりたいときは? ボタンタグにヴァージョン番号をつけるんだ。 <input jwcid="$Revision 1.2$">$Revision$ $Date$</span> これも$をエンティティ参照で$を消す? >>74 $Revision 1.2$というコンポーネントはないから、 この書き方自体意味が無く実行時エラーが出るよ ボタンのテキストにRevision値を書きたいなら <input type="button" value="$Revision 1.2$"> か <button>$Revision 1.2$</button> でいいんじゃない? jwcidは存在するコンポーネント名の指定と$remove$、$content$にしか使わないよ 13 名前:デフォルトの名無しさん 投稿日:03/11/02 18:25 おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ 53 名前:デフォルトの名無しさん 投稿日:03/11/06 16:20 他にネタがないのだろうな多分。 >>77 部分抜き出しで多数派工作なんて君はマスコミ?w Tapestryはほかにもどんな用途に使えるんだろう。 すべてのVelocityの機能をTapestryだけで実現することも可能なんだろうか? Velocityを使った、EclipseのSimteekプラグインのように プログラミング時のソースコードテンプレートに使える用途はあるのか? >>81 TapestryとVelocityはまったく別のものだよ。 Velocityはテンプレートエンジン TapestryはWebアプリのフレームワーク やはりWeb用にしか使えないのか? いやまてよHTML上にかくということは、 XMLでも使えるということか? ならば、かなり凄いことができる!? >>86 XMLでも Anyコンポーネント Foreachコンポーネント Conditionalコンポーネント Choose When Otherwiseコンポーネント を使えば XSLTと同じようなことができるね もまいら、もちつけ まあ、ここで騒げば 簡単Struts 簡単Velocity につづけて 簡単Tapestryが発刊されるだろう それまで待っても遅くないよん >>88 簡単Velocityはクソだったらしいな・・・。 まあVelocityの翻訳がクソだったのが問題なのだが。 >>88 >>89 簡単Velocity へのリンク希望! >>89 いやだから、『簡単』Velocityなのです TapestryとVelocityを比較するとTapestryの方がよく見えてきたぞ 今後比較予定だってー www.spacewalker.tv/tapestry/comparison.html Tapestryとファンをダイレクトに結ぶ会員制オンラインファンクラブ「Tapestry club」。 ここでは、川畑・堂珍が積極的に参加して、いろんな企画をスタートさせていきます。 JAVA WORLDのサンプルのZIPは解凍しようとするとディレクトリ名が変だ? >>102 ああ、やっぱり? おれもディレクトリ名が 「ケミストリー」になる appディレクトリの前にゴミディレクトリがあるみたいだし。 解凍してしまったこの変なディレクトリ消すのめんどくさ。 2.JSPの欠点 JSPにはさまざまな長所、短所が指摘されているが、Tapestryと比較することに焦点を絞った場合、以下の点が欠点として強調される。逆にこれらの事項の裏返しがTapestryにおいて長所と言える。 ●JSPファイルにはさまざまな言語(HTML,JavaScript,スクリプトレット,ディレクティブ,拡張タグ)が同時に含まれ、デザイナーはHTML,Javascript以外、特に頻出するスクリプトレット、拡張タグを理解できない ●JSPのスクリプトレットの書き方に標準がなく、プログラマーの能力差、経験差が大きく現れる ●HTMLタグから拡張タグへの変更が機械的で単調な繰り返しが多い ●JAVAはオブジェクト指向だが、JSPにはオブジェクト指向を感じない、デザインの再利用性が低い WEBDB vol16見ながらやってるんだけど、 <input jwcid="@TextField" value="ognl:echo"/> とか書いたら、 <input type="text" name="$TextField" value=""/> に変換された。 これってjavascript使いたいときどうすんのさ。 name属性の値はテンプレの段階じゃわからん。 >>1 は責任もって教えること。 >>108 <input type="text" jwcid="hoge@TextField" value="ognl:hoge"/> とかすると、 <input type="text" name="hoge" value=""/> になる。これ常識w Form項目はすべて名前付けたほうが気持ち(・∀・)イイ!! WEBDB vol16とかJAVA Worldの人は古いTapestry2.xの解説してるから、 Tapestryのサンプル見た方が早い場合もあるな 書くの面倒だけど、TapestryのJavaScript機能使えば別の解決法もある それもTapestry付属のサンプル見るよろし >>108 早く返事しろよ ∧_∧ ( ´∀`)つゴルァ >>109 昨日初めてさわったんよ。もっと教えて。 "hoge"を使うようなjavascriptだと少なくとも テンプレHTMLの段階ではエラーになるから都合悪いって話。 >>109 早く返事しろよ ∧_∧ ( ´∀`)つゴルァ >>111 <input type="text" jwcid="hoge@TextField" name="hoge" value="ognl:hoge"/> とすると <input type="text" name="hoge" name="hoge"/> になるがJavaScriptは動くことは動く 別の書き方をするなら <input type="text" jwcid="AAA@TextField" name="BBB" value="ognl:CCC"/> とすると <input type="text" name="AAA" name="BBB"/> になる。 name属性がreserved parameterになってないTapestryのバグか仕様だな 気に入らないなら Tapestryのソースのframeworkフォルダの /org/apache/tapestry/form/TextField.jwc を書き換えて、自前のプロジェクトにマイコンポーネントとして追加するべし >>111 早く返事しろよ ∧_∧ ( ´∀`)つゴルァ >>115 もっとカツラがズレてないとダメだぞ ↓ ∧_∧ ( ´∀`)つゴルァ みんな知ってるかい?Don't you know? http://www.dorffweb.com/index.htm?page=taptutorial に新しいTapestryチュートリアルが出たらしい >>44 はこれを日本語化すること <input type="text" name="hoge" name="hoge"/> なにこれ。ださっ テンプレはPerlのHTML::Templateみたいなのがいいな。 ベロcityはイマイチだった。 >>1 は解説サイト立ち上げろ ∧_∧ ( ´∀`)つゴルァ >>117 あ、こりゃ嬉しいな。PDF読んでみよう。THX! 1.ボタンが押された際にクライアントサイドでの 入力チェックをしたいのだが、実現可能? 2.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・? >>119 どういたしまして You are welcome! >>120 1.について ValidFieldのvalidator属性に DateValidator EmailValidator NumberValidator StringValidator のbeanに <set-property name="clientScriptingEnabled" expression="true"/> を入れるとクライアントサイドの入力チェックもしてくれます。 標準機能が気に入らないなら自前でコンポーネントを作りましょう。 2.について Submitコンポーネントを使ってlistener属性に別のリスナーメソッドを関連付ければOK <input type="submit" value="yes" jwcid="@Submit" listener="ognl:listeners.yesSubmit"/> <input type="submit" value="no" jwcid="@Submit" listener="ognl:listeners.noSubmit"/> この場合、Formのlistener属性は書く必要なし >>120 早く返事しろよ ∧_∧ ( ´∀`)つゴルァ >>123 もっとカツラがズレてるぞ ↓ ∧_∧ ( ´∀`)つゴルァ 携帯用のページみたいに 同じurlでキャリアによってテンプレートを変えるってこと Tapestryで簡単にできますか? >>125 簡単で、やり方は3通りかそれ以上あるけど、同じurlにする理由ってあるの? >>126 ↓「ズラズレモナー」わすれてるぞ! ∧_∧ ( ´∀`)つゴルァ >>126 深い意味はないです 毎回UserAgentを見て表示先を変えるのって どうやるのが一番スマートかと思って / ̄ ̄ ̄ ̄\ ∧_∧ | でたぁ! | (;∀;∩)< 教えて性人! | (⊃ ) | | 人 ヽ´ \____/ し'(__) / ̄ ̄ ̄ ̄\ ∧_∧ | でたぁ! | (;∀;∩)< 教えて性人! | (⊃ ) | | 人 ヽ´ \____/ し'(__) >>128 こんな感じで見ます UserAgent ←・・・・・・(・∀・ ) >>130 >>131 どんな時もズラせろよ↓ / ̄ ̄ ̄ ̄\ ∧_∧ | でたぁ! | (;∀;∩)< 教えて性人! | (⊃ ) | | 人 ヽ´ \____/ し'(__) 設定ファイルとサーブレットマッピング、パッケージ配置の お作法がわからん。 ■パッケージpageの下にページ設定のXMLやBasePage を継承したクラスをおいた場合は、web.xmlにpageという 仮想パス名でApplicationServletを割り当てないと駄目なのですが? ■hoge.applicationファイルってWEBアプリに ひとつだけ配置することになるのですか? ■pagegroup1というパッケージの下に配置したページから pagegroup1というパッケージの下に配置したページへ 画面遷移することは可能ですか? >>135 Tapestryのフォルダ構成の基本はこうだ。 /コンテキストルート /WEB-INF web.xml hoge.application Home.html Home.page Home.properties /classes Home.class ●web.xml(全角スペース注意) <?xml version="1.0"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd "> <web-app> <servlet> <servlet-name>hoge</servlet-name> <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hoge</servlet-name> <url-pattern>/app</url-pattern> </servlet-mapping> </web-app> >>135 hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから 同じ名前である必要はない。もちろんパッケージ名はまったく関係がない ページテンプレートはWEB-INFの下にフラットに置く方が、 デザイナーさんにファイルを送るときにまとまってて都合がよいよ >>137 なるほど。サンクス。 ボチボチサンプルアプリでも作ってみるかね。。 画面A - <submit> - submitActionメソッド - <処理OK> - <OK画面> |-<処理NG> - <NG画面> こんな処理を行ないたいのですが、参考になるサンプルなどを 教えてもらえませんか? submitActionメソッドの中で遷移先のHTMLファイルを切り替えたいのです。 自己レスすまそ。 requestCycle.activate("OkPage"); requestCycle.activate("NgPage"); で出来るな。 これからはヅラ直してから質問しまつ。 >>143 そっか、終わってたんか。 ww2の勉強に切り替えるかね。 / ̄ ̄ ̄ ̄\ ∧_∧ | ほげらっちょ! | (;∀;∩)< ほげらっちょ! | (⊃ ) | | 人 ヽ´ \____/ し'(__) なんかよくわからんが… なんでわざわざsunの主流からはずれる方向を選ぶんだろ。 結局Tapestryだって、独自記述をデザイナーに理解させる必要が あるわけだし、スクリプトレットを存在させないJSPと対して変わらんよ。 ※ちなみに、初期時はともかくとして運用段階においてHTML以外を 拒絶するデザイナー(だいたいバイト)なんて見たことない。 それに、純粋にプレゼンテーション層からビジネスロジックを 分離するのであれば、Velocityでのアプローチの方がまだましだよ。 ただ、主流じゃないからエンドユーザーへ提案しずらいのが、 そもそもの問題。 --- システムを買うのは、経営者であってデザイナーじゃないし、 経営者は知名度のある技術を好む。 どうしても分離したいのであれば、PHP+Smartyでいいじゃん。 今のところ、主流になっている組み合わせだし。 ※それか、自分の趣味で遊ぶとかね。 と、ここまで書いておいて気付いたんだけど。 Tapestryの応援スレだったんだね。フレームワークスレだと思ってた… 水を差したのであれば、すいません。 折角書いたのを捨てるのもったいない気持ちも分かるw そもそもビンボーでなければ、オープンソースなんて使わないわけで。 >>136 その配置だとHTMLファイルを書き換えるたびに WEBコンテナを再起動しないとだめじゃない? / ̄ ̄ ̄ ̄\ ∧_∧ | ほげらっちょ! | (;∀;∩)< ほげらっちょ! | (⊃ ) | | 人 ヽ´ \____/ し'(__) Tapestry のよさは、デザイン分離がクローズアップされがちだが、 もっとグレイトなのは、HTTPというプロトコル上ステートレスかつ URL の連鎖で画面のコンテキストを追っかけるつくりになっちゃう ところを、画面の構成コンポーネントのイベントハンドラで作り こむ、まるで Swing みたいな設計をするところだと思うな。 その点、Struts とも Velocity とも比較するものではなく、JSF と比較すべき存在だと思う。じゃなきゃ、Swing とかとの比較だ な。まあ、クソスレの住人にはわからんだろうが。 このスレはめずらしく >>1 がまともかと思ったら、威張るだ けで根性なしだったのがザンネンだ。マジにこの時期にTapestry で成功事例もってるなら、金払っても話が聞きたかったものを。。 まわりもおだてて話させりゃいいものを、自分が理解もしていな いのにヤヅでつぶしちまった。ほかに、Tapestry の読むに耐える 板はどっかにないもんかね? >>170 激しく同意 WO 触っているせいでこの重要さは身にしみてる。 オープンソースでもこんなんできるようになったとは、 と感慨ひとしおですけど実はまだきちんと触ってないヘタレでつ... >> 171 どうもありがとう。 Tapestry も Spindle とかの IDE プラグインに可能性 の余地があって、たとえば今はハンドで書いている.page や.jwcといったSpecificationXMLが、Dreamwaverみたい なWYSWYGのHTMLエディタでテンプレート開いた上でダブ ルクリックするとオートで書かれ、ページオブジェクト のリスナーメソッドのガワが実装されるような動きをし てくれば、まんまVBやDelphiだからね。WYSWYGなHTMLエ ディタはすでにオープンソースでもあるし、.pageのXML はIDEがオートで書けるレベルの内容にとどめている。 bindingの情報なんて、VBのFormファイルの中身みたい なもんだし。JSFでもIDE充実したらそうなるだろうけど ね。最近の両者をみていて、オイラはTapestry のほう がJSFよりもテンプレートがHTMLということで手軽感が あるし、力の入ったWEBデザインをするのに向いている と感じているので、次の案件に使ってみたいと思ってる。 その点、すでに使ってるヤシの情報は漁ってるんだけ どね。なかなか書いてくんないね。 わりい、172だが、読み直す前にぽちっと いっちゃって、日本語がマンセーマンみ たいに。要は、スタンドアローンなアプリ をVBやDelphiで作るみたいな感覚で、デザ インに力入ったHTMLが所与できちゃった案 件でもさくさくと作れる時が近いうちに実 現するんじゃないかと。Spindle 次第では。 Kさん 好循環 Aさん 悪循環 (健康体) (喘息) 1.(神が喘息であるかないかを決める) 2.K 喘息でない人 A 喘息の人は は体力がある 体力がなくなる 3.K A 行動力、 五感(嗅覚)が鈍り感性が変化する 4.K&P 神は異常な感性の人間は本来人に迷惑をかけ るから外に出てはいけないと思っている。 5.K 変化なし A アトピーになる 6.K 正常な感性 A 外に出なくなりさらに異常な感性になる 7.K 正常な人間 A 異常な人間(レッテル) 8.K&A 死 9.K&A 来世 10.K&A 神は異常な人間は人に迷惑をかけるので行動 を抑制する必要があると思っている。 11.K&A 神が喘息であるかないかを決める 12.K 喘息でない A 喘息である 13.K&A 1.に戻る これは事実。広めようぜ 解決法:体力をつけると感覚が正常に戻り、 アトピーも快癒に向かう。 目安としてグランドを10週くらい。 あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり おっ、Tapestry賛成派の意見が増えてきた もうJAVA World出たよ>>1 ttp://www.geocities.co.jp/SiliconValley-SanJose/2565/tapestry/tapestry.html spindle 使わない形のドキュメントだけどみっけた manning のアーリーアクセス+ペーパーバック後郵送の サービスで「Tapestry in Action」買った!もちろん英 語だけど。結構いいこと書いてある。俺は買いだと思う。 >>178 はじめの2章読めるだけで、今買う価値があるの? はじめ2章にどれだけ有用な情報があるのかレポートよろ。 海外掲示板用オフラインリーダーを作るスレ http://pc2.2ch.net/test/read.cgi/tech/1072883528/ 海外でよく使われていうる掲示板スクリプト 専用のオフラインリーダー作って下さい。 必要な条件はID、PASSを管理できること、 OpenJaneみたいな三面型の見た目。 簡単にローカライズできるように言語ファイルを採用 Tapestryホームページがリニューアル http://jakarta.apache.org/tapestry/ Tapestry3.0beta4も出たぞ >>178 書籍紹介サイト? in Actionシリーズか。 いろいろシリーズがでているもんだな。 Tapestryのうまい使い方載ってるサイトない? ソースコードサンプル付きで。 すでにStrutsで開発しているときにTapestryを導入するとしたら どう対応すればいんだろう? カスタムタグを使って作ったJSPファイルを また修正しないといけないとか? >> 188 VとCを作り直す対応だけでOKですよ〜 >>188 StrutsからTapestryに移行するには、該当ページのJSPとActionを書き換えになる。 JSPの方はカスタムタグからTapestryの該当するコンポーネント指定に1対1で書き換え、 ActionはpageBeginRenderとformSubmitリスナとactivateExternalにメソッドを分割して DBアクセスまわりのロジックはフルコピー可能。 ActionFormのresetはPageRenderListenerインタフェースを実装してpageBeginRenderにコピー可能。 ActionFormのvalidateはPageValidateListenerインターフェースを実装してpageValidateRenderにコピー可能。 return mapping.getInputForward();はreturn;にするだけ return mapping.findForward("hoge");はcycle.activate("hoge");return;だけ ほとんど1対1に変換可能だから、Struts→Tapestry変換ソフトも作成可能と思われる。 >>188 ActionFormのプロパティは、ページクラスにabstractでget/set***を作成し、 ページ仕様ファイルにpropertyの名前と型を記述する Tapestry3.0beta4ってどうやって使うの? パペストリで、画面遷移とかってどういう仕組みになってるの? いいサンプルかチュートリヤルある? >○Beginning Tapestry >ttp://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt このパワポファイル、勝手に翻訳(駄訳)してみたんだけど、ほしいヤシいる? 一応、機械翻訳じゃないんで日本語になってるとは思われ(w ただし意味不明な箇所も有り。 なんか、タペってStrutsよりも効率よさそう。 >>199 ttp://up.isp.2ch.net/up/79de27813b6b.zip 和訳がおかしいところも多いと思うので、 英語にオタッシャクラブなヤツがいましたら、改修オナ貝。 消えちゃったかな? 他にどこかよさげなウプロダある? 駄訳をちょっとだけ修正したのを再ウプしたひ >>198 iriaで試したら落とせました。 ありがd あっ、家にパワポないの忘れてた。。。 誰か PDF にしてくだっさいぃ。。。 ちょい修正版、再ウプしますた。PDF版込みです。 ttp://marmotfarm.com/cgi-bin/upload2/source/up31226.zip >>211 PDF ありがd! ますます Tapestry ファンになった。 Java野郎、気に入った。 >>214 やっぱ、できないんだけど、うちのネットワークのせい? う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/ 向けでつね。。 >>217 スレ違いだけど WOLips 入れたら Cayenne 付いてきてた... EOF 使うからたぶん使ってないとは思うんだけどね... CayenneでもHibernateでも良いけれど、 WOのEOModeler + WOBuilderみたいに、ロジックとモデルの接続が マウスグリグリで出来るようなプラグイン、でないかねぇ。 ↑ここでのプラグインって、Eclipse用でつ。。 どうも今ひとつしっくりこない、書籍その他手に入れてみたがやり方が書籍やHPによって違っている。 マー複数種類のやり方があるんだろうが・・・。 どうしても理解できないのが BaseComponentとBasePageをextendsすることの違いです。これは何が違うんでしょ? Tapestry って Struts の普及率を超えそうですか? それとも Struts とは分野が違うものでしょうか? TapestryとStrutsは、MVC分離によって各領域のコンフリクトを 防ぐという目的は、だいたい一緒だと思います。 ただ、アプローチが大きく違うんじゃないでしょうか。 Strutsの大きなメリットは、画面遷移周りをstruts-config.xmlという設定ファイルとして 独立させられるんで、遷移情報を一括管理できるってところ。 デメリットとしては、このファイルがでっかくなっていくってことでしょうか。 Struts1.1からは、SubApplicationという仕組みで、設定ファイルを分割できるようになりましたが。 Tapestryの大きなメリットは、テンプレート上の動的HTML生成の仕組みが コンポーネント指向ってことでしょうか。デザイナとの連携がうまく考えられてます。 コンポーネントライブラリも必要十分だと思うので、海外なんかではStrutsからの移行組も 増えてるとか。 ただ、まだ日本語の情報はStrutsほど多くないですね。 Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」P71で、 ----- なお、アクセッサメソッドのうちsetXXXXX()メソッドの引数は、 どんなデータ型でもオブジェクト名(変数名)をvalueとしておかなくてはなりません。 ----- と、書いてあるんだけど、意味がわかりません。 引数の変数名に決まりがあるなんて、JAVAではありえないんだけど? 著者の沖林氏、この文の意味を解説もしくは修正してください。 それは「Javaでは」ってよりも、 タペ自身が動的にアクセッサメソッドを処理するための ルールってことではないの? >>226 リフレクション使えばありえんことは無い。 ってかリフレクションはフレームワークでは結構使われるでしょ。 で、Tapestry ではどうなのってのは知りまそん。 今日から試してみてるんだけど、 WOみたいにURLはSessionIDだけにならないのかな? http://localhost/app?service=page/xxxx だと、任意のページに自由にアクセスできてしまうよね? >>229 自由にアクセスしてもらっちゃ困る全ページにvalidateかValidateListenerつけて セッションかVisitを確認して、もし認識できなかったらログインページに PageRedirectExceptionすればよろし。 AbstractPageをextendsしたAbstractAuthPageでも作ると楽できるっす >>231 なるほど、そういう工夫が必要なんだね。 WOを参考にしてるとはいえ、やっぱり結構違うな〜。 >>198 最近このスレ知りました。 PDFも一回うpしてもらうことかのうでせうか。。? >>233 漏れがパワポの駄訳&PDF変換してみたんだけど、 こんなクソ資料見るよりも、「Jakartaプロジェクト徹底攻略2」を買ったほうが なんぼもマシ(w >>234 そうですか。「Jakartaプロジェクト徹底攻略2」は買いました。 あれだけだとなんか痒いところに手が届いてない感じがして。 今までずっとStrutsだったので乗り換え考え中です。 HTML テンプレートから Page クラスのアクセッサのコードを生成したり できますか? ああ、キャロル=キングね。懐かしいなぁ。 You've gotta friendとか大好きだよ。 Tapestry のほうがすごい。 これで満足か? Eclipse Plugin Spindle の Hello World ttp://www.wikiroom.com/Tapestry/?HelloWorld @ShowErrorって、Strutsでいう<html:errors />なんだろうけど saveErrors() に対応する方法がよくワカラン。 とりあえずdelegateを定義して、delegate.record("エラーですよ", 〜) にしてるけど 公式ドキュメントすら作りかけだからなぁ。 workbench.warを分析しつつ悩む俺。 なんか *.page 書くの面倒だね。もうちょっと簡単にならないものだろうか。 ページ用のクラス内のメソッド名の接頭辞と、jwcid の接頭辞を関連付けて、 さらにコンポーネントタイプもその接頭辞で決め打ちしてしまって *.page の コンポーネント宣言は必要なし、とかにならないかなあ。 使い始めてまだ間がないので、おかしなことを言ってたらすいません。 >>244 どういう事を望んでいるのかいまいち分からんけど spindle 使ってもだめなん? まさに Spindle を使っているのですが…。.html とクラスを関連づけるもの として .page を見たとき、なんか微妙に冗長な気がしたんですよね。 でも html にロジック記述がめちゃくちゃ減るので、これはこれでいいのか。 XML に慣れてないだけなのかな? この仕様だと、Spindle でクラスを書いて、getter とか setter のメソッド 名を選択して .page に反映とか、 .page に存在しない name を使ったコンポー ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる、 とかすると嬉しいなあ、と。 (使いはじめて 5 時間でそんなことを言いだして…) Eclipseプラグインでさ、 Tapestryのコンポーネントと、Hibernate側オブジェクトと、ビジネスロジック中のオブジェクトを Drag&Dropでグリグリっとバインドできるようなものがあったら面白そうだなぁ。 フリーなWebObjectsって感じで。 >>246 > .page に存在しない name を使ったコンポー > ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる X印だけは出るね。 存在しないクラスにもX印が出る。 Ctrl+Spaceで補完すると、ちゃんとjavadocみたいな説明が出るんで、だいぶ助けになってるな。 ただ、htmlとpage、pageとクラスみたいな連携が弱い。 コンポーネント、プロパティ、リスナーを定義して こっちはabstract、こっちはこのロジック、これはVisitへ、とか付け替えできると嬉しいなぁ。 WEB-DBのTapestry徹底入門を読んだ。 あの例題だけでは、submitで呼び出される メソッドの中で遷移するページを指定する方法が わからない。 誰か教えて。 public void formSubmit( IRequestCycle cycle ) { cycle.activate( "hogehoge" ); } >>250 Thanks! StrutsもTapestryも使ったことがないのだが、 雑誌を読んだ限りでは、Tapestryのほうが良い 感じがした。 >>249 PageLinkの場合は>>250 でいいけど、 ExternalLinkやDirectLinkのようにパラメータを渡したい場合はこういう方法もあるよ NextPage page=(NextPage)cycle.getPage("NextPage"); page.setMail(getMail()); page.setTel(getTel()); cycle.activate(page); page.formSubmit(cycle); Tapestry のRelease 版ってまだ出ていないのでしょうか? MileStone 版だけ? >>254 ValidFieldコンポーネントなどを使う。 でも、ちょっとめんどくさいな。 エラーメッセージをロケールによって変える方法が分かんねぇ。 >255 β版についてた、User'sGuideになんか載ってた気がする……>ローカライズに関して 自宅なもんで資料みつからねぇ。すまん。 Joey ってどうよ。定義ファイルから pageクラス、ページ仕様、 ページテンプレート、DAO 自動生成。 ttp://joey.sourceforge.jp/features.htm 見る限りスゲーと思ったけど・・・ 定型的な画面構成だったらいい楽そうだ。 >257 んーーー。 とりあえず、Tutrial印刷して読んで見るわ。 俺は、こういうの好きだけど。 とりあえずチュートリアルは読んだ。 面白い取り組みだな。こういういたせりつくせりなのは日本人向けだと思う。 ただ、まぁまだ全然できてねぇじゃん?文書とか。サイトとか。 3ヵ月後を楽しみにしとくよ。 >>259 出来て間がなさそうだから、いろいろ方向転換しそうだね。 他色々ググってたんだけど、これタペと組み合わせどう? ttp://seasar.sourceforge.jp/ ttp://lists.sourceforge.jp/mailman/archives/seasar-user/2004-March/thread.html Seasar って前は AP 鯖だったけど Seasar2(S2) でコンテナに なってタペと組み合わせやすいみたい。未完成だけど。 ML になぜかタペ好きが集まってきてる。 >>255 レスさんくす。 例のJakarta本2にはValidateについて 書かれてなかったから気になってた。 あとは例外処理だけかな、気になるのは。 一応、どこかに書かれたHelloworldを試してみたけど なかなか簡単に出来た。で、気になってきた。 あと S2 の作者は 2chネラーみたい。ML の中で もまいら自由に書き込め とか。 Spindleもrc-1にあわせた内容(Ver3.041)になってるな。 updateサイトでいかんとVerUPできないが。 すまん、教えてくれ。 >249 みたいにsubmitで飛ばす時、外部にすっとばす(Yahoo!とか)場合はどうするんだろう? >>266 public void formSubmit(IRequestCycle cycle){ throw new RedirectException("http://www.yahoo.co.jp "); } すでにNECから同じコンセプトのデザインシンセサイザという製品が出ているが、特許とか大丈夫なの? WebObjectsが内包している、WebObjects Framework(WOF)に 触発されたって開発者自ら名言してるしね。 「テンプレ+対応ソースコード」 っていう構成はよくあるけど、 「テンプレ+対応ソースコード+オブジェクトとテンプレ内要素のマッピング」 っていうのは、柔軟で(・∀・)イイ! でも、管理ツールが無いと、ファイルが増えてきたときに大変。 Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」のサンプルが動かないよ・・・。 誌面の手順どおりに作成しているのに、404だ。 Tomcatのweb.xmlにも設定が必要なの? ognlとjavaassistが無かったことが原因だった。 いつ、別パッケージになったの? ていうか、Spindleの方は全部はいっとるやんけ! >>275 Tapestry配布アーカイブ内のlib以下の全jarファイルをコンテナのクラスパス中に含めろって記事に書いてあったような。。。 そんなおいらは記事のEclipse開発のところを参考に プロジェクトフォルダをTomcatのコンテキストとして登録してみましたが、 Degesterの例外でTomcat4.1がTomcatプラグインから起動できなくなりました。 まだ枯れてない技術、か。 Tapestryと相性が良いO/Rマッピングフレームワークって、Hibernate? Cayenne? Googleでのヒット件数はTapestry+Hibernateの方が多いけど、 WebObjects 的な作りが為されているのは Cayenne らしいし。 Cayenneは、自身にDBスキーマ構造をリバースしてくる機能があるみたいだからね。 WebObjectsってよりは、EOF的ってことなんだろうかね。 未アナウンスですが。 3.0キタ━━━━(゚∀゚)━━━━ッ!! 既に幾つかの鯖に上がってるYO!! Tapestryの場合 欲しいのは最新バージョンではなくてドキュメント類 ドキュメントさえそろえばstrutsより遙かにいいのに・・・ あと知名度&実績モナー 開発者から支持されても、採用にはちっともつながらん 公式ドキュメントも新しいのは殆ど無くて、「ソース読め」 って感じだと 中々追いかける時間も取れないので、採用しようにも判断しようがない。 やっと触り始めたーよ。 何とか Tomcat プラグインと Spindle で Eclipse から Tomcat を起動させて開発中のものを 動作させるところまできた。 Tomcat の設定で JVM オプションに -Dorg.apache.tapestry.disable-caching=true を追加して HTML のキャッシングもオフに。 Tomcat の再起動も少なくなって、これでガシガシ テストできるかな? あ、参考文献 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 のどちらかに置くという二つの方法があるらしいけど どっちにしてます? shared/lib派です。(^o^)/ 起動が早いよ というか日本語のTapestry,Spindle関係の情報って Tapestryの最も簡単に使えて便利なRedirectFilterについて まったく触れてないよね web.xmlに書くだけなのになー Spindleが標準対応するのを強く希望ですね >>289 なんだか /hoge/app にトンじゃうあれのことね。 Google で全言語248件 / 日本語0件ってすごいな。 あと遅レスだが >>226 特集記事の筆者が仕様を 思 い っ き り 誤 訳 してるだけの話らしい。 あとuploadの例で \n 出力するのは(あのケースだと)ちゃんと意味が有るのに、 あたかも意味が無いような注釈入れております。 >>291 やっぱそうだったのか >変数名をvalueにしておかなければならない なんでリフレクションなのにローカル変数名まで限定できるんだ? と謎だったが。 >293 いいともー。 TapestryのWikiにも同じ間違い書いてる奴いたなw>value spindle プラグイン入れた状態で、 配下の web.xml にTapestryのApplicationServlet を複数指定すると ×印だされるんだけど、これって Tapestry のほうの仕様なのか、 spindle のほうのバグなんか、どっちなのでせうか? >>295 Spindleのバグではなくて、Spindleの仕様だよ テンプレートのチェックするためにはサーブレット1つじゃないとめんどくさいのさ https://betterpetshop.dev.java.net/ Tapestry, Spring, Hibernateで作り直したPetShopだそうな。 >>297 そんなあなたに the National Hockey League http://www.nhl.com/ Cayenne もあるでよ。 さて、4/29にTapestry 3.1( & hiveMind)がスタートしたわけだが。 Tapestryでは、StrutsのTilesみたいな機能はないのでしょうか? Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ いけないのでしょうか? もうサーバサイドJavaは勘弁して欲しいよ なんでこんな複雑なものが必要なんだ? 冷静に考えれ 馬鹿発見 難しくしならないようにフレームワークがある そしてTapestryは結構よくできている用に見える 反面、まったくできてないのはドキュメント 個人で作ったツールは出来がよくてもドキュメントがないとか そういうのはよくあるがそんなイメージに近い 単なる一ライブラリならともかくその上で動かそうってんだから ドキュメント無いとお仕事にならないよ 本質が見えていないバカは303だ。 サーバサイドJava、俺も面倒だと思うよ・・・ 全然スマートじゃない。 自分の理解不足を、面倒という考え方に転嫁してるやつがいるな。 客観的に見て、Webアプリ組むのに、Javaが一番楽チンか? EJBってカンタン&楽チン? TapestryとかVelocityとかStrutsとか誰でも簡単にすぐ使える? 俺は人にも教えてるし、書籍の執筆や翻訳したり雑誌記事も書くが そのたびに内心「あ〜面倒!」と思うよ 逆に、ちゃんと理解してないヤツが何となく「簡単そう」と 思いこんでるだけじゃないの? やればやるほどマンドクセ EJBが必要なレベルのWEBアプリってあんま無いと思うが フレームワーク開発はプログラマの品質がピンキリなために 業務ロジックだけに集中させるという目的があるはず 分業考えるとstrutsよりTapestryとかのほうがいいとかそういうお話かと ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし その程度なら豊富なライブラリもあるしjsp一本でいいだろう ただある程度の規模になったとき困る 書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前 >>301 http://dorffweb.com/?page=taptutorial このチュートリアルの第7章のサンプル見ればわかる。 ってだけでもアレなんで。結論からいうと、 ・ヘッダー/フッターを司るJWCを自分で作って、テンプレートから呼ぶ。 ・そのJWCの中では、呼ばれたテンプレートの内容を丸ごと書き出す Tapestry謹製のJWC "RenderBody" を呼ぶ。 という方法です。 RenderBodyのもっと詳しい説明はコチラ↓ http://jakarta.apache.org/tapestry/doc/ComponentReference/RenderBody.html ×呼ばれたテンプレートの内容 ○呼ばれたjwcidを持つタグの内容 スンマソン StrutsやTapestryを一ヶ月の超短納期prjで採用するのが 間違ってる。。。 >>311 ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・ >>307 WebObjects とか初心者に使わせることを考えたらどうだ? 凝ったことをしなければ非常に簡単に、しかも従っていれば 基本的にきれいな方向に持っていってくれる。そんなフレームワークが できるならがんばって作ってもいいじゃないか。 そんな WebObjects のフレームワークに一番近い感じの Tapestry age >>309 なるほど。分かりやすい説明サンクスです。 >>311 メンバ全員が使うフレームワークを熟知してれば問題ないんでは。 見た事無いけど。 >>315 Tapestryに限らないと思うけどフレームワーク熟知してる人間は少数で いいのでわ? んで、フレームワークとかわかんないけどJavaはかけるぐらいのPGに ちゃんとした仕様書渡してビジネスロジックを実装させる(もちろん単体テストも)。 あとはフレームワークわかってる人間が組み込めと。 教えてクンで申し訳ないのだけど、 HTMLテンプレートやpage specification等のファイルの配置ディレクトリを カスタマイズするにはどうすればよいのでしょうか? いくつかのサンプルアプリを見てみたのだけど、常にHTMLテンプレートファイルは context直下のディレクトリに、それ以外はcontext/WEB-INFのディレクトリに 置かれてた。 それと、 複数の階層(ディレクトリ)を設けて、ページの内容に応じてHTMLテンプレート ファイルを管理したいのだけど、そんなわがままは許されないのでしょうか? ひとつのディレクトリにしか置けないと、規模が大きくなったときに管理が 不便じゃない? 複数人での制作だとファイル名がダブらないようにするだけでも 大変かも知れないし。 なんでTapestryを使うの? ってお客さんに問われたらどう答えますか? >>317 だな。 それは漏れも尻鯛w イソアクショソ読めば、どっかに書いてありそうな希ガス。 >>318 開発工数を削減できます。とこたえます。 でも、本当にそれを実現できるには、開発メンバー全員が Tapestryのことを或る程度まで知っていなければならない罠。 >>321 新しいものなんてだいたいそんなもんだ。 そこを乗り越えてなけりゃ未だにみんなアセンブラおんりーで50年前から進歩してないわけだし。 >>321 じゃあ削減分、値引いてね♪と言われる罠w >>323 納期短縮をせまられたり。うぅ・・・ そうじゃない、そうじゃないんだ・・・。 新技術を使って前より少ない工数でできました(生産性向上) じゃあ次は値引いて、 じゃあ次は機能増やすね、 、、、 人月の弊害だよなぁ。。。 生産性向上の利益がエンジニアに配分されない。。。 スレズレスマソ >>307 そうなんだよ。激しく面倒。 >>308 勘弁してよ。全員が仕組み理解してないと生産性は上がんないよ。 だからできるだけシンプルに作るべきなんだ。だからEJBは絶対だめ。 自前で必要な分だけ作ったほうが絶対シンプルになる。 >>325 それは模前が選んだ組織の問題だ・・・ Javaのサーバサイド系の技術のほとんどは生産性は上がらないんだよ・・・ 定期的に湧くアンチがいるな フレームワークがなかったらあとで修正したりするの大変じゃないか? みんな好き勝手にdoGetとかでガリガリ書いたりするのか? 開発者が1人2人くらいならともかく100人超える規模とかでそれやられたらたまらんな 初期の開発だけじゃなくて運用後の修正のコストなどもトータルで考えるべきだろう もちろんEJBが必要な案件もあれば必要がないものだってあるさ そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実 >>327 フレームワークはそのアプリケーションに合わせたものを作ればよいということ。 その方がスマートかつシンプル。 フレームワークが必要なのは、ウェブのリクエストを処理するところだけじゃなく、 コアな部分においてアプリケーション毎にいくつか出てくるでしょ。100人だろうが 1000人だろうが好き勝手やらないのは当たり前。 フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方 ってのをもう一度ゼロベースから考え直してみたらどうだろうか。 もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ あほな連中がそういうことやらないで(というか新しいこと勉強してない連中は フレームワークという単語を知らないらしい)みんなガリガリやるのに慣れているとか そういうことらしい まぁ、チームとか会社とか場所によって面白いほど考え方が様々で そのへん整備されてないところに回されると大変だぞ、と んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので Tapestryもがんばって欲しいなと >>329 最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。 その上でいいものを探して、選択する。 ただ、通常、どのフレームワークでも、いろいろなケースに対応するために、 すごく複雑な設定まで出来るようになってる。 それを切り落として、自分が利用するケースで必要十分なところまで絞り込んで、 ここまで出来れば十分、というところまで絞り込めばいい、ということ。 本当に基本的なところだけなら、実はどのフレームワークも意外に簡単。 作るべきものも定型化しやすいものがおおい。 って、正直Tapestryが本当にいいかどうかはまだ分からないし、 Strutsにはだいぶ苦労させられた口だが。 まあ、そうは言っても、StrutsやTapestryなどのフレームワークを使わないのは損だ、 という認識に変わりはない。自分で作ろうと思うと、以外に大変な割りに、 結局どれかの既存のフレームワークに似たようなつくりになること多いし。 覚えるのが面倒だからという理由なら、ドキュメントが出るのをまってもいいし、 なんなら、コンサルでもいれなよ。一度、カタにはまった開発、ってのをやってみれば、 楽なのが分かる。面白いかどうかは別にしてね。 >>331 コンサルって奴は一般的に何をしてくれるものなんですか? フレームワークの使い方を教えてくれるの? >>321-325 あとは、『保守作業がえらく簡単になりますぜ旦那』くらいかな。 Strutsは、開発はJSPガリガリ君より簡単になったけど、 保守はむしろ煩雑化した記憶しかない。。。 >>334 でも「Tapestry知ってる人」をアサインするのが大変なような・・・ >>334 JavaScriptをスクリプトレットで制御するようなJSPを書かれる心配が無くなるぶん Tapestryには導入メリットがありますね。 なんてな・・・ >>337 ドキュメントが少ない& その少ないドキュメントを読みきった香具師が少ないので、 「可能か無理か判断する」のが無理な状態。 >>333 少なくとも型にはまった開発、っていうのは見られるかな。 おまいらスピソjがRC1になりますたよ。 Redirect Filter も扱えるようになりましたよ。 >>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 >>317 なんだよ、そっちかよ 標準Documentに乗ってるじゃねーか TemplateSourceDelegateを使ってsearch pathを変更することを期待してるのかと思って 必死でサンプル作って試していたのがショック!!!(T_T) >>344 既知のTipsだとしても、それを情報として知るのと、 自ら試してみるのとでは理解度がまったく違うと思うよ。 決して無駄骨ではないと思われ。 その心意気に、敢えてGJ!! >>344 それ、教えて欲しい。 サンプル公開きぼんぬ 見せてもらえるものは見せてもらった方がいいわね、アータ。 3.0リリースから、もう一ヶ月たつのに、一向に盛り上がってこないなあ。 やってるー? みんなー? >>350 一応MLが立ち上がっているみたいだけど、 2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な 質問0。既に廃墟だね…。 ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com 悪くないと思ったんだが、だめかなー。 Strutsより現実的でいいと思うんだがなー。 >>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 -------------------- 何なのこの人? >>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 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 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); } ------------------------------- このサンプルはコンポーネントのテンプレートにも使えるよ(^o^)v /WEB-INF/Hoge.jwc /sample/hoge/Hoge.html このスレも50毎に>>361 の結論が出て、その繰り返しで1000行きそうだな。 >>354 Strutsから乗り換える教育投資に見合うメリットがあるのか? おれは、ないと思うんだが。 乗り換えるんじゃなくて方向がまったく違う でも結局>>361 >>356 おー、すげぇ。 明日にでも、さっそく試してみるよ。 しかし、こういうの書かなくてもサクサクっと設定出来ないと 普及は厳しいかなぁ、という気がしないでもないなぁ。 >>363 Strutsをメンバーの過半数が、機能をフルに使いこなせていたら、 意味は無いだろうね。 Strutsを使っているのになぜかJSPにスクリプトレットを 多用しているようなところだったら、まだ、ある。 でも結局>>361 今やってる仕事、strutsなんだけど、ご多分に漏れず、 struts-config.xmlが肥大化。 DynaActionBeanの設定とか、もういやすぎ。 例の分割管理とかそういう対策はアフォみたいだし。。。鬱。 タペットマペット使いたいYO!! オブジェクト指向の分散管理思想に真っ向から反するStrutsの設定ファイル。 フレームワークが滅びるには十分な理由だ。 同じようなやり方で、ISpecificationResolverを実装する方法もあるよ こちらの場合.page,.jwcと.htmlは同じフォルダに置ける >>368 XDoclet使えば? Strutsコンフィグファイルなんてほとんどさわらなくなった。 >>369 すでにXDocletのようなものもあるし、J2SE1.5からはメタデータという仕組みも組み込まれて同様のフレームワークの設定がやりやすくなるから、いまとなってはあまり問題ないね。 ListEditコンポーネント(とKistEditMapクラス)を使って、 Stale Link状態を事前に検出できるようになる仕組みが、 Java Doc API を読んでも Component Reference を読んでも Tapestry In Action を読んでも なぜだかサパーリわからません。 そんな俺はおhる? 作者が「テスト助けてくれ〜」と悲鳴ageてるわけだが。 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 >>377 企業での開発経験がない、学生だとあんなもんだろ。 わたしの現場では派遣先が開発した独自フレームワークしか流行っていない 作るのいいけどさ、もっとマシなの作ってよ なんかソース見てると一部のクラスは「ほ〜」という感じでかなりレベル高いのに のこりのほとんどのクラスは「ヘンなやり方〜」ってかんじ 内緒でインナークラス使って自分達のわかりやすいやり方(てか普通のJavaのやり方)に変えてます >>377 ナイスだなー だいたい、高度なアプリケーションにデザイナーがDreamweaver使いたいからという だらけた理由でプログラマが苦労すること無いんだよ ページのデザインくらいプログラマだってできるだろ よって、Tapestryは存在価値なし >>387 ページのデザインってデザイナが(ユーザーの要望により)ちょくちょく変えるもんだから そのたびにhtmlいじったりjsp化は非現実的 struts使うのならたとえばJBuilderについてるstrutsコンバータとか使わないと大変 現場知らないお子さまはカエレ Spindleってそんなにええのんか? しかし、ブツを落とさないと稼動前提条件とかインストールの仕方がわからんのは 致命的。はやらす気はなさそう。 >>387 Dreamweaverの生産性は異常 だらけた理由とかいって、おまえ、 あ、ごめん、DQNデザイナーを起用してる、DQNプロジェクトの話でしたかpgr ただいま、>>387 は顔を真っ赤にしてDreamweaverの体験版を落としております >>390 単なるHTMLエディタだろ? 何がそんなにいいのん? >>392 387? まずは体験版おとしてやってみろ Tomcat連携機能とか検証機能とかスタイルシートまわりとかいろいろありすぎてな >>392 カスタムタグなんかにも対応してたりもする >>394 それじゃ、Tapestryいらないじゃん。 >>395 実際にやってみろ カスタムタグはあくまでも解釈されない程度だ Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ? そんなところにそもそもJavaが絡む余地ないだろ。 ページのデザインってデザイナーが必要なほど、難しいもんじゃないし Dreamweaverの何が生産性高いのかさっぱりわからん >>397 普通のWebサイトでもJava使うだろ。 >>398 短期の仕事でデザインとプログラムなんて両方やってられるわけがないだろうに web方面で短気じゃない仕事なんて聞いたこと無いぞ あとデザイン能力というかセンスは人それぞれ htmlをプログラマのほうが熟知していてデザイナはあんまりよくしらない という状況は多いが、それでも成り立つのはタグが綺麗かどうかとか htmlの知識とかそんなところじゃないしな しかし現場知らないお子さまの反DreamWeaver厨は気楽でいいよな というか単純に「Java」と聞いて サーブレットじゃなくてアプレットを思い浮かべているだけの 厨が紛れ込んでる希ガス。 >>400 短期過ぎるから両方やらざるを得ないのでは >>401 いや、DW使いのやつらは、JavaScriptをJavaと呼ぶケースがほとんど。 "Java"が実際どのようなものか、まったく理解してないケースも多い。 デザインが必要か必要じゃないかに、短期か短期じゃないかなんて関係ないのにね。 > Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ? > そんなところにそもそもJavaが絡む余地ないだろ。 デザインが重要なWebサイトにどうしてJavaが絡む余地がないと思えるのか 不思議で仕方がない。 デザインが重要かどうかとJavaを使うか使わないかの関連性が全く見えない。 デザインが必要か必要じゃないかと、短期か短期じゃないかと、Javaを使うか使わないかなんて関係ないのにね。 こことかは、結構凝ったデザインになってるし。 ttp://www.junkudo.co.jp/ とりあえず、デザイン要素が生じる動的サイト制作には、 生JSPよりもStrutsよりもタペが剥いてると思う。 特に、デザイナーとのコラボが必要な場合。 また、デザイナは特に割り当てられていなくとも、 Webのインタフェースの完成に近い形がプレビューできるというメリットと、 Webインタフェースをコンポーネント指向で作成できるという点でも タペにメリットあると思われ。 あとは、日本では猫も杓子もStrutsという流れの中で、いかにして タペの流れを作っていけるかってところだよね。日本語ドキュメント含めてさ。 別に英語ドキュメントだけでもいいけど、それだとやっぱりとっつきにくいんだろうな。。。 たぶん、Tapestry + Cayenne(Hibernate) + Springあたりが、フリーでは最強なんだろうな。 有償製品ではWebObjectsってのが対抗馬だろうね。 結局Strutsにしても、JSFまでの時間つぶしだしなぁ。 俺struts使ってんだが、タペについて教えてくれ。 1)HTMLのデザインとJavaの開発を切り離してできるって以外にStrutsじゃなくてタペを使うメリットって何かある? 2)Hibernate以外のマッピングツールも使えるの? 3)これから主流になるかもしれないJSFやJSTLとかとタペの関係ってのはどうなの? 1) (イソアクショソの受け売りだが) ・WYSIWYGプレビューを保持したまま動的コンテンツを開発できる。 ・JSPコンパイル時間不要 2)むしろCayenneとの相性が良い。 3)すまん知らない_| ̄|○ タペもStrutsもあるオプソココミュが作ったフレームワークに過ぎん。 JSFやJSTLは標準仕様だからな。 そもそもの位置づけからして違う 標準仕様で実装もあるのに、使われる気配のないJDO >>413 WYSIWYGプレビューってのが不要ならあんまりメリットないのかな。 GUIで開発できるってのなら別だろうけど。 >>414 だからタペでもJSFやJSTLは取り入れる方向に行くのかなと思ってね。 JSFはまだこれからだけど、JSTLはタペでは使えません。これから先もってのならちょっとね。 TapestryのいいところはHTMLとオブジェクトの世界を見事に接続しているところで、 デザインとロジックの分離はその副産物だと思ってます。 (大きなアドバンテージだとは思いますが) 逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、 さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して... 結局一番助けて欲しいところを助けてくれてない。 何のためのフレームワークなのかよくわからないところです。 フレームワークと言うものを世に知らしめた時点でStrutsの役割は終わったと思ってます。 JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。 SunはGUI作るのが下手なんで。 >>418 > さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して... XDoclet使えば? たしかにstruts-config.xmlの生成はxdocletに任せてだいぶ楽になった。 あれいちいち手書きしてたときは間違い多くてまいったよ Tapestryもstrutsみたいに実行時エラーがウザイので 設定ファイルのチェックは必須かな。自分はAntを使用。 <!-- DTDレベルで設定ファイルをチェック --> <target name="checkconf"> <xmlvalidate> <fileset dir="."> <include name="**/*.application" /> <include name="**/*.page" /> <include name="**/*.jwc" /> </fileset> </xmlvalidate> </target> これ+自作のXML内クラス名チェッカーでXMLファイル内の クラス名を検証して実行時前に徹底的に誤りを検出してまつ。 jwcidを簡単に入れられる。WebObjectsみたいなGUIがあったらどうですか? ドラッグ&ドロップで名前を付けることができるツールが dream weaverのプラグインでついたりすればいいのになぁ。 結局id付けなきゃいけないような気がしてます。 もうidとか付けるのVBライクなコピー&ペーストから卒業しようよ。 とかいてみるテスト >>420 他にコードで書いたほうが速そうなことをわざわざ設定ファイル記述してるの? <html:message>のこと? >逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、 ごめん。意味分からん。もうちょっと具体的に教えて。 それに対してタペのアプローチ方法も教えて。 > JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。 > SunはGUI作るのが下手なんで。 JSFはSunだけのものではないんだが。 IBMの方が先に製品版出したしな。 そして忘れられてるタペ ところで、barracudaと比較したヤシはおらんのか? しばらく意味がわからんかった。 写真集について語るか。 Tapestry in Actionの一部がPDFで公開されているね。 ttp://today.java.net/today/2004/05/13/Tapestry.pdf >>430 2章と5章でしょ。 マニング社のサイトでも公開されてるよ すみません、SPRING板でも同じ質問をさせていただいたのですが、 どなたか、SUN APP サーバー8とWEBWORKを上手に 使う方法御存じないでしょうか。GRANTの設定を少々変更することは マニュアルにありますが、 私、APPサーバー付属のDEPLOYTOOLをANTの替りにしたいのです。 CMPーEJBとWEBWORKで開発が上手にできたらと、考えております。 御存じの方がいらっしゃいましたら、どうぞよろしくおねがいします。 かしこ。 こんなマイナーな技術で板ができるなら、Strutsなんて、ひとつのカテゴリですよ、と。 Spindle 3.0 Final ってのがリリースされてるぽいんだけど。 興味ない? >>440 マジレスしていいのやら.... Eclipse 用の Tapestry プラグイン。 http://spindle.sourceforge.net/ >>377 ダウンロードできねえぞ。 消えやがった。きになってしまうじゃねえか >>445 PGが楽できないフレームワークは流行らない、らしい。 PGはフレームワークの選定なんてやらないが・・・。 そういう意味ではなくて? やっぱり、いまいちこないのかなあ・・・。 そもそも、HTMLとして編集して、JSPとして動作させられるって言っても、 CSSのリンクとか、JSファイルのリンクとか、どうするんだろう? ローカルで検証するときは、そのままダブルクリックして開いたファイルが見れる、 というなら便利だとは思うが、リンクは全て相対パスで書かないといけない、ということになるのか。 まあ、AタグやSubmit先が見れない、というのは仕方ないにしても、 どれほどいい感じに作成したHTMLを見れるか、というのはまず、重要だな。 それに加えて、JWCの使い勝手はどうなんだろう? 機能のカスタマイズとか簡単にできるんだろうか? プログラマの問題だと思うよ。 JSPでもメンテナンス性の高いコードは書けるし、そうするのが現実的。 Tapestryはね、あまりに複雑で、もうそんなお遊びにはつきあってられん。 みんなシンプルなフレームワーク自作して満足してるんじゃない? そういう俺もstrutsをさらにシンプルにしてさらにデザイナが嫌う埋め込みjspではなく Velocityのようなテンプレートのようなものを組み込んでる >>450 >Tapestryはね、あまりに複雑で、もうそんなお遊びにはつきあってられん。 複雑ってゆーか訳わからんことだらけなんだが。 例えば設定ファイルに関して ・*.applicationファイルの有無、配置場所、読み込まれるタイミング、ファイル名とアプリケーション名の関係。 ・*.pageファイル、*.htmlの関係、配置場所。Homeという特別な意味を持つファイル名。 ・*.jwcファイルって何をするもの? 技術雑誌で紹介されていて手を出してみたものの、導入記事毎にTapestryのバージョンやファイル構成がことごとく 異なり、さらにworkbenchを参照しても導入記事とファイル構成が異なるためパニックになり、英語のチュートリアルを 頑張って参照しても、コードとファイル名があるだけで、そのコードとファイルをどこに配置してよいのか 途方にくれ、3.0の正式版がやっとリリースしたと思ったら各種jarファイル(javassist.jar ognl-2.6.3.jar)を かき集めなければならなかったり、workbench.warをビルドするのに手間どったりと、なかなか楽しませていただきました。 ・・・・・・つーか、俺がヘタレなだけか。_| ̄|○ >>452 わかるとどうってことないよ(^_^; 1.静的な画像ファイルはコンテキストの直下の好きなフォルダに置く 2.*.applicationはWEB-INFに置く 3.*.page,*.htmlはWEB-INFに置く、もしくはWEB-INFの下のサーブレット名のフォルダに置く 4.*.jwc,*.htmlは*.pageと同じ場所に置く これだけよ♪この情報を信じなさい♪ やっぱり問題はドキュメントの量だけだな とくに日本語となるとまるでなし 実験してみた。Tapestry3.0 Tomcat4.1.30 見づらくてスマン。 ============= *.applicationの配置に関して ============= (1):web.xmlの/web-app/servlet/init-param/param-valueがhello.applicationの場合 applicationのパス:WEB-INF/classes/hello.application Homeの値:hello.applicationの/application/page/name[@Home='Home']/@specification-pathで指定 Homeのパス:WEB-INF/classes/Homeの値 (2):web.xmlの/web-app/servlet/init-param/param-valueが/hello.applicationの場合 (1)と同一の結果 (3):web.xmlでapplicationファイルを指定しない場合 applicationのパス:WEB-INF/サーブレット名.application Homeの値:サーブレット名.applicationの/application/page/name[@Home='Home']/@specification-pathで指定 Homeのパス:WEB-INF/Homeの値 ※サーブレット名は、web.xmlで/web-app/servlet[servlet-class='org.apache.tapestry.ApplicationServlet']/servlet-nameの値 (4):(3)の状態で、WEB-INF/サーブレット名.applicationが存在しない場合 Homeの値:- Homeのパス:WEB-INF/Home.page ======================================================= >>453 の助言はうれしいんですが、*applicationをweb.xmlで指定した場合(つまり(1)(2)の場合)、Tomcat起動時に 「Resource at classpath:/hello.application does not exist.」とエラーが発生して、頭を抱えることに なりそうな予感がしたので実験して補足しときました。(ヘタレなんで結果が合ってるかどうか保証できんが) つーか、(2)はJavaWorld2003/12、Web+db16、(3)はworkbench、(4)はそのへんのサンプルと、 まったく統一とれてないんでもう大変。 TapestryはちゃんとXSLTに対応しているのかな? デザイナはCSSだけ使ってりゃええって最近思えるようになってきた。 HTML直打ちだけで済むって、そうは行かないケースも有るんだが。 デザイナはXSLTの事も考慮すべき。 >>452 ,>>453 ,>>455 strutsが集中型設定ファイル地獄なのに対して Tapestryは分散型設定ファイル地獄ってところか。 同じ地獄なら分散の方がいいと考えてTapeな俺。 でもStrutsでも対応したんだっけ? >>459 StrutsはXDoclet使えばほぼ解決。 タペは普及度が低いためそんなツールの対応も未だに無し。 >>460 ちなみにStruts + XDocletなら、Mavenがデフォルトで対応している。 $ maven -Dtemplate=struts genappで、Strutsプロジェクトを生成。 $ maven war:webappや、 $ maven war:warで、XDocletを適用してstruts-config.xmlを生成・ビルド。 Strutsは各種ツールのおかげで結構楽に開発できるようになった気がする。 で、Tapestry関係のツールってSpindle以外になんかないのー。 >>463 オープンソースのプロジェクト管理。 スケジュール管理がないのはオープンソースだからw >>459 1.1からはstruts-cocnfig.xmlの子供xmlを幾らでも作れる。 ども肝心要のサーバ運用管理者に その事を知らない人が多い罠。 Struts等をやっていて、 手続きを記述した居場所でXMLを利用することが馬鹿げていることだと 感じるようニナリマシタ… >>470 こいつは>>469 の意味がわかってないってことだ。 そもそも狼人間などこの世にいないからな。都市伝説だ。 つまりデスマも都市伝説ってわけだ。 >>473 「人月の神話」っていう本の副題だよ。 まあ、もう結構昔の本だけど、機会があれば読んでみな。 おまいら現実を見ようぜw まぁいくら良い?道具を使ったところで、万能じゃないってことだな。 >>475 アフリカでオオカミに育てられ人間に拾われ人間の生活に戻そうとしたが 10歳で死んでしまった少女アヴェロン野生児か 関連プログラムのネタならあるぞ。 HiveMind 1.0-βリリースとか、 O-R Mappingフレームワークスレでの、祭りの後のCayenneの静けさとか…。 こっちにもおいで。 Java⇔RDBのMapping-Frameworkを語るスレ Vol.2 ttp://pc5.2ch.net/test/read.cgi/tech/1086315004/ >>484 Cayenneって、Tapestry関連なの? WebとDBの連携やるのに、 TapestryとCayenneの相性がいいらしいって話しだろ。 ちょっと日本語資料少ないな。 >>489-490 Cayenne公式のUser's Guideに、 Tapestryへの設定の仕方の章がある。 >>491 それだったら、Strutsのもあるからなぁ。 >>488 のスレに、Cayenneの日本語資料作ってくれた人が現れますたよ。 >>492 書き方が足りなかった(スマソ) WebServiceから使われることを想定しているフレームワークで、 Strutsへの設定を章立てし説明しているプロダクトは多々あれど、 Tapestryへの設定を章立てし説明しているプロダクトはCayenneくらい? ということ。 >>494 技術的な話題でWebServiceっていったときにはStrutsとかTapestryは当てはまらないと思われ。 いわんとすることはわかるが。 でも、Cayenne使えネっていう結論になってそうだぞ。 @Select とか @Optionで @Foreach使って <option value="1月">1月</option> <option value="2月">2月</option> <option value="3月">3月</option> <option value="4月">4月</option> <option value="5月">5月</option> <option value="6月">6月</option> っていうのはできないの???? valueの値が連番になってしまう 公式のリファレンス見てもわからんかった... orz >>501 すいません自己解決しました. 基本的にこんなこと気にしなくて良かったんだな. しかしいつも選択されたかどうかを示すフラグが必要になる・・・? なんか詳しい資料少ないよねぇ・・・・ 一行ごとに色を切り替えて縞々模様に なるテーブル作りたいんだけど どうやって書けば良いんでしょ・・・・ >>506 ttp://www.sandcastsoftware.com/articlesandtutorials/brownbag/index.html#tapestry 英語だけど、ここのPDF落としてみてごらん。 一行ごとに色換えしてるサンプルのチュートリアルを含むみたい。 もちろん、ソースもダウソできるぞ。 >>507 ありがとう 亀レスになってしまった 英語苦手ながら一通り呼んでみたのだけど, 縞々のリストは最初のサンプルに提示してる画面だけで, その後チュートリアルとして実際作り出したら背景色なんて 気にしてないみたい…多分. 漏れの英語力が著しく欠如してるのかもしれないけども とりあえずその問題は参照するたびにTrue/Falseが切り替わる プロパティで何とかすることにしたよ…なんか納得いかないけど…. で,新しい疑問がでてきてしまったんですが HTMLのプロパティに可変値を設定したいときはどうすれば良いのだろう 可変長リストの左側に柱をつけたいときとか <td rowspan="xx"> とかやるよね.xxを件数に応じて帰る必要があるんだけども どうやって指定すれば良いのか・・・. OGNLかとおもったけど違うみたいだし >>510 ああ,Anyだったか・・・・? すいません,上記のrowspanの話は自己解決しました.(良いやり方なのかどうか知らんが) ちなみに *.pageに以下を定義(hogeCollectionは適当なコレクション.sizeは長さ) <component id="verticalLine" type="Any"> <binding name="rowspan" expression="hogeCollection.size"/> </component> *.htmlのほうで <td jwcid="verticalLine" > としました. お騒がせしました. >>515 そう。 このスレは、それについて語るスレ。 板違い。 Tabesptryって消えそうですね。少なくとも日本じゃ流行らなそう・・。 流行ってなくてもおれは使う!! 何故なら楽だし楽しいから。 JavaScriptをTapastryScriptで記述するのって手間じゃないですか? JavaScriptで画面遷移の制御している画面では書き換えが面倒な気がします。 ちなみに、TapestryScriptを使用するとHTML画面でのJavaScriptチェックはできなくなりますよね? >>524 YSFとS2JSFが一緒になるらしい。 9/9の日記参照 http://d.hatena.ne.jp/higayasuo/ どっちでもいいが、使いやすくしてくれ。 TapestryアプリケーションでURLを一般的な***.html風にする一番きれいな方法は どうすればいいでしょうか? 1.PageLinkを使わず、自作のFilterで***.htmlがきたら/app?service=page/***にフォワードする 欠点:ステートフルやセッションを使うのが一苦労 2.AbstractEngine#extractServiceName,EngineServiceLink#constructURLなどを書き換える 3.BaseEngine,AbstractService,EngineServiceLinkを継承してextractServiceName,constructURLをオーバーライトする 4.他の方法あったら教えて >>529 Flex 面白そうだよね。JSP ライクなタグってのが気になるが... トライアル版登録して試してみようかな。 Tapestry3.1 and HiveMind1.0キタ━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━!!!! >>540 Tapestry3.1はまだだろ!どこの情報だ??? tapestry 3.0.1 です。 <form> <input jwcid="@TextField" value="ognl:foo"/> <input jwcid="@Submit" listener="ognl:listeners.hogeAction"/> <input jwcid="@TextField" value="ognl:bar"/> <input jwcid="@Submit" listener="ognl:listeners.fugaAction"/> </form> という構造で、上の submit が押された場合、 setFoo → hogeAction → setBar という順でメソッドが呼ばれるようなのですが、 これの回避方法はありますか? foo の内容を hogeAction で使いたいのですが。 >>548 呼出しが setFoo, hogeAction の順なら、foo の内容を hogeAction で 使えるような気がするんですが、"bar の内容を hogeAction で使いたい" の 書き損じでしょうか...? >>549 typo でした。 「bar の内容を、 hogeAction で使いたい」が、やりたい事です。 誰か教えてage! >>550 試してないので憶測ですが、もしページテンプレート中に書かれた順番で メソッドが呼び出されるんだとしたら、 <form> <input jwcid="@TextField" value="ognl:foo"/> <input jwcid="@TextField" value="ognl:bar"/> <input jwcid="@Submit" listener="ognl:listeners.hogeAction"/> <input jwcid="@Submit" listener="ognl:listeners.fugaAction"/> </form> という順になるように書くのではダメですかね? ↑だとページがレンダリングされたときに TextField と Submit の 位置関係が...というのであれば、あんま好みじゃないですけど例えば <form> <table> <tr> <td> <input 中略 value="ognl:foo" /><br /> <input value="ognl:bar" /> </td> <td> <input listener="ognl:listeners.hogeAction" /><br /> <input listener="ognl:listeners.fugaAction" /> </td> </tr> </table> </form> とか。 (個人的には div ブロックで float にするとかの方が好みですが) タペストリーでhttpsで接続するにはどうしたらよいでしょうか? 例えばcycle.activate( pageA );としてpagaAを表示する際にhttpsで接続するにはです。 やっぱりweb.xmlに記述するんですかねー? その場合の記述方法は? RedirectExceptionでhttpsなURLにリダイレクトするというのは駄目? TiA本を読み終わっての、Tapestryのいい所といまいちな 感じの所をつらつらと。 いい所: デザイン完全分離、コンポーネント、ドメインロジックとの 容易なグルーイング、アセット管理、イベントベース処理、OGNL いまいち?: 直感的でないフォームのwinding/rewinding、認証サポート、 クライアントサイドスクリプトのサポート どっちとも言えず: バリデーション かなりというか Struts みたいな原始的なのと比べるのが 馬鹿らしいほど高水準な割に、見通しも悪くなくて結構好みな感じ。 コンポーネントも結構簡単に作れるから、自前コンポーネント ライブラリの整備も結構急ピッチにできそう。 学習中です。jwc を作ってみたりしています。 BaseComponent を extend したコンポーネントクラスで、 与えられた parameter を元に、かくかくしかじかの前処理を行ってから コンポーネントの表示を行いたい場合、 renderComponent をオーバーライドして、かくかくしかじかを行ってから super.renderComponent を呼べばOKでしょうか。 Tapestryって、なんでいいものなのに広まらなかったんだろうね。 日本語の資料ってないの? JavaWorldの去年の特集くらい? タペ専門書ってないの? 「Jakartaナントカ」とか「オープンソースナントカ」みたいな本の1コーナーでしかないのかな。 Tapestry in Action の和訳版が出れば嬉しいんだけどねー。 inActionが訳されないようなモノは、専門書も出ないってことだな。 セッションタイムアウト時の Your session has timed out. Web applications store information about what you are doing on the server. .... という画面を別の画面に差し替えたいのだが どうすればよいのだろう。 .page や .html を、.application と同じディレクトリにずらずら並べないで、 アプリケーションの機能ごとにディレクトリを作ってその下に置いた場合、 .application で <page name="Pagename" specification-path="/path/to/Pagefile.page"/> を沢山書かなくてはダメですか? <a jwcid="@PageLink" page="/path/to/Pagefile.page">aaa</a> って書きたい…。 >>564 そのとおりなので、Tapestry は欠陥品。 ちなみに requestCycle.activate("path/to/Pagefile"); となら書ける。謎。 ハローTapestry Fun! TapestryのPageLinkクラスを修正して、 <a href="Hoge.html" jwcid="@PageLink">gotohoge</a> を <a href="app?service=page/Hoge"> と出力するのは簡単ですよ >>566 じゃあそういうクラスと jwc 書いて公開して。 ついでに >>564 を解決する jwc も公開して。 >>567 ●org.apache.tapestry.link.PageLink.jwc 1.hrefをreserved-parameterからformalParameterにする <reserved-parameter name="href"> →<parameter name="href" type="java.lang.String" direction="in" required="no"/> 2.pageパラメータの必須属性を消す <parameter name="page" type="java.lang.String" required="yes" property-name="targetPage" direction="in"/> →<parameter name="page" type="java.lang.String" required="no" property-name="targetPage" direction="in"/> ●org.apache.tapestry.link.PageLink.java 1.hrefパラメータのgetterメソッドを追加 public abstract String getHref(); 2.pageパラメータが指定されないときhrefパラメータを取得し、スラッシュと拡張子を切る 下記を挿入 ... if(parameter == null){ parameter = getHref(); parameter = parameter.substring(parameter.lastIndexOf("/") + 1); parameter = parameter.substring(0, parameter.lastIndexOf('.')); } return getLink(cycle, Tapestry.PAGE_SERVICE, new String[] { parameter }); ちなみにおいらはPageServiceとかAbstractEngineとかweb.xmlを書き換えて <a href="Hoge.html" jwcid="@PageLink">gotohoge</a>を <a href="Hoge.html">gotohoge</a>と出力させるようにしてるっす PageLink を書き換えるんじゃなくて、継承とオーバーライドで別のクラスにしないのはなぜ? あと >>564 は、PageLink 以外にも Page を参照する Component がありそうだから面倒だなぁ、 と思いました(例えば Frame。ほかにあるかは知らない) >>570 なんでってできあがってるHTML内の大量のリンクタグの jwcidを書き換えるのめんどくさいからでしょ? それからプログラマーにいちいち別途技術資料作成して、 @PageLinkより@HogeLinkの方が機能が上だから使いましょうねと 教育する時間がもったいない。 完全上位互換ですから。 後付け機能ですから、ギリ!!! >>570 基本コンポーネントとかぶる同じ名前のコンポーネントを.application内に記述ってできるのかな? できるのならクラスとjwcを別にして、「PageLink」コンポーネントを再定義するって方法もあるね ぶっちゃけ、Tapestry使ってる人って何人ぐらいのチームでやってるの? >>574 マネージャ1人、プログラマー5人、デザイナーは外部なのでわからずです。 Tapestry in Actionを読み進めているが、 一人でTapeるのは無謀か… >>576 オラ、1人で Tapestry + Cayenne なプロジェクト切り盛りしてるよ。 ってか絶対的なコーディング量を考えると、素の JSP + Servlet で 1人なのより楽でない? (最初の学習コストはちょっとあるけどさ) せめてStruts+Hibernate+Springぐらいと比べてくれ。 頑張ってるのはわかるけど、まだ冗長な感じがするなあ。 コンポーネントの in-out なプロパティの大半は String とかプリミティブな型わけで、 getHost して setHoge されますね。(そうせざるを得ないわけですが) MultiplePropertySelection の selectedList プロパティは、 型が List で Direction が in-out なんだけど、getHogeList で List を取って、 そのリストを書き換えてしまう。setHogeList が呼ばれない。 確かにその方が効率的。 で、これに気がつかなかったわけで、しばらく嵌ってしまった、という話でした。 どうでもいい事なんだけど、Tapestry in action で作者が使っているHTMLエディタ、同じの使ってみたいと思って 調べてみたら、MacroMediaのHomeSite(しかも4.0)ですね。 もう販売中止で売ってないじゃん。。。 >>590 一応DreamWeaverMX以降でHomeSiteの機能が統合されているけどね。 重さという意味では比べものにならないな。値段も(以下略)。 英語版は開発続行らしいから、英語版買うというのもあり。 まぁこの業界、DWは使いこなせると損にはならないから、 割り切って乗り換えるのも手かも。 http://www.macromedia.com/jp/software/homesite/ TapestryなHTMLを書きやすいタグ補完とかほしいもんだけど、 どこかにないのかねぇ。 >> 592 そういえば、Intelli-JがTapestryに対応していたような。 >>592 これじゃだめ? ttp://www.behindthesite.com/blog/C1931765677/E1305840788/index.html >>594 ツッコミがくることを承知で書くが、とてもデザイナさんにEclipse入れて その上でHTML書け、なんて言えない(汗)。 DWかGoLiveのExtensionみたいな形で使えればベターなんだが。 埋め込みくらいプログラマがやれって話もあるが、動的表示要素が ほとんどなページとかだと、ある程度埋めてくれないとうざくて やってられないー。 >> 595 たしかに、Webデザイナーとの分業を考えるのであれば、 DWとかにadd-onであってほしいですね。 そうすると少しは普及速度があがるかな。。 っていうかその前にドキュメントの充実が先って気がするけど。 ページを見ていたら偶然このサイトもtapestryを使っているのを発見 結構よくできていた。http://www.it-evangelist.com/MeetEntre/ HiveMind-1.1 alpha が出たわけだが > 601 HiveMindって、なんかTapestryと関係あんの? >>602 Tapestry3.1 からは、HiveMind と統合とか、 内部処理に HiveMind の DI を利用するとか そんな噂あり (Tapestryではなく)Cayenne のサンプルの中に、Blogサンプルがあったよ >> 603,605 なるほど。 そういえば、TapestryのWikiかなにかに3.1からDI機能が入るとか書いてあった気がする。 Springを勉強しないで良くなる代わりに、HiveMindを勉強する必要があるのかな。。 Tapestry使ったコンテストがあるんだね。 誰か参加してるヤシいる? 賞金100万円いいよな。 http://www.dena.ne.jp/other/index.html > 609 URL見たけど、どのあたりがTapestryに関係しているの? 新たな中途リアル ttp://www2.cpttm.org.mo/cyberlab/softdev/tapestry/ The ServerSide.com(TSS)はTapestryで リライトされたらしいよん。既出かな? ttp://www.theserverside.com > 613 これだな。 ttp://www.theserverside.com/articles/article.tss?l=TSSTapestry TSSは結構有名でアクセス数が多いサイトなので、このサイト構築に耐えられた (HLS自らがリライトした?)というのは、Tapestryの良い事例になった訳だ。 Spindle 3.1.16(unstable)が出てる。で、Tapestry 3.0.2 が含まれているみたい。 ttp://www.jroller.com/page/glongman/20050217#spindle_3_1_16_now そしてNHL公式サイトは、 このまま無かったことにされそうな悪寒 > 616 何の誤爆? それはともかく、JavaWorldで3号連続で連載していた「Tapestryの全て」がWEBで掲載されている。結構分かりやすい。 ttp://www.duo.co.jp/column/index.html 作者、語ってます。 ttp://www.theserverside.com/talks/index.tss >>619 そのわりに Seasar は普及しないな。 わかりやすい日本語で語らないから日本で普及しないんだよ。 >>617 遅レスだが、NHL公式サイトはTapestry制だったらすぃ Spindle 3.1.20出てます。 http://www.jroller.com/page/glongman New Features: * no new features this release other than updating to Tapestry 3.0.3 (Spindle同梱のTapestryが3.0.3に更新されたって事です) ageますよ。 ttp://howardlewisship.com/blog/ 次期Tapestry(Picasso)は、Ver 4.0になるそうな。 http://y130200.ppp.dion.ne.jp/ www ww うはっwwww っうぇwwwwwwおkwww おkwwwっうぇwっうぇうぇwwwうはっwww うぇwwwうぇwwwっwwwwwwwwwwww TapestryでFrameってどうやって使うの? >>633 Tapestryの良いところは、普通のHTMLエディタでTapestry用のVIEWを 作成できる事なんで、お好きなエディタを使えばいいんじゃないでしょうか。 それともObjectとのマッピングまでGUIで作成できるように したいって事?(Spindleの機能じゃ足りない?) 連投でごめん。最近のtapestry開発状況 # 17 May 2005 - Tapestry 4.0-alpha-3 Released # 06 May 2005 - Tapestry 4.0-alpha-2 Released # 29 April 2005 - HiveMind 1.1-beta-1 Released # 29 March 2005 - Tapestry 3.0.3 Released # 25 March 2005 - HiveMind 1.1-alpha-3 Released # 24 February 2005 - HiveMind 1.1-alpha-2 Released # 22 February 2005 - Tapestry 3.1-alpha-1 Released # 15 February 2005 - Tapestry 3.0.2 Released 4.0 betaは間近かな。 Tapestry Palette ttp://tapestrypalette.sourceforge.net/ Tapestryは1つのjwcidに対して複数のコンポーネントを適用できますか? >>637 これだけでは何なので。 自分で調べた限りではできないみたいで、ひとつのタグに複数のコンポーネントを適用しようとしたら、 どうしてもダミーのspanタグが必要みたいでした。 なにか裏技でもあれば教えてください。 4.0 Beta1記念 age ttp://howardlewisship.com/blog/2005/06/tapestry-40-beta-1.html http://jakarta.apache.org/site/downloads/downloads_tapestry.cgi >>361 か たしかに普及したライブラリはすべて日本語の資料がどこかにはあるからなぁ Tapestry 4.0-beta-4の報告もないってことは、tapestryはこれにて終了ってことで。 けど、Spring フレームワークの開発者はこれから注目すべき フレームワークの中に Struts2 と並べて Tapestry を挙げていた。 盛り上がってないのはもしかして日本だけ? http://jakarta.apache.org/site/news/news-2005-q3.html ちゃんとTapestry 4.0-beta-4(とHiveMind 1.1-beta-3)について書いてあるがな(´・ω・`) >>648 いや、>>643 でBeta2の報告、>>644 でBeta3の報告の書き込みがあって、なんでBeta4の書き込みがなかったのかと。 で、4.0Beta5がリリースされた訳だが。 誰かリリースノートとか日本語に訳してくれないかな……。 >>649 意訳するとだな 「おまいら正式版マダーとか言い杉。バグつぶしは小さいのしか残ってないが ドキュメントが追いつかねぇんだよゴルァ。9月中には出してやるからモチツケ。」 って感じですわ。 Tapestry 4.0-beta-6 released Tapestry 4.0-beta-7 released ♪首から下は〜 Howard Lewis Ship 4.0-beta でアプリを開発し始めた者です。 3.0のころに比べると、ページをサブディレクトリで管理できたり、 生成されるURLがシンプルになったりいい感じです。 50画面くらい作りこみましたが、とりあえず実用上の問題はなさそうです。 あと、4.0に限らないけど、 htmlテンプレートをキャッシュしないようにして開発すると 動作がもっさりもっさりして厳しいですな。 ページの作りこみはトライアンドエラーの作業が多いから これは開発効率にダイレクトに響きます。 ttp://www.agileskills2.org/EWDT/ Tapestry 4初の解説本。1-4章が無料でダウンロード可 5人で開発するとして、2人くらいは英語のドキュメント読めても残りの3人は日本語じゃないと読まないんだよね。 しかも、英語が読めるやつは手探りでだいたいの使い方をわかったりするからドキュメント自体があまり必要なかったり。 日本語しか読めない開発者ほどドキュメントを必要とするんだよね。 Tapestry 1.1-beta-8 Released 概要でも日本語化されていれば日本語しか分からなくても ソースコード見て納得できるけど なにもわからず手探り状態だと厳しい それに英語読めるといっても日本語と違って斜め読みまでできるやつはそう多くない 膨大なドキュメントから特定の場所を探すのはむずかしい 4.0正式リリースは年末くらいじゃない? このあとまだRCシリーズが出るはずだし。 Tapestry 1.1-beta-9 Released >>662 >>666 Tapestry 1.1ってなんじゃぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ きっともうHoward Lewis ShipもHiveMindのことでいっぱいいっぱいなんだよ Tapestry 4.0-beta-10 Released なんかTapestry4.0のドキュメントを翻訳をしてる人がいるみたいだね。 でも最終更新は2005/06/23か。 非公式ユーザーリファレンスもWikiも更新止まってるみたいだし、こちらにも期待したいところなんだが……。 ttp://www.javable.jp/notes/tapestry.html Tapestry 4.0-beta-11 released FaceletsがあればTapestry要らなくなる? Faceletsの開発者による紹介記事の日本語訳 ttp://homepage1.nifty.com/algafield/facelet-ja1.html で、ぶっちゃけ戦闘力の方はどうなのよ。 コンポーネント開発ってIDEの能力が大きいからなぁ ぶっちゃけたぺも日本語資料が大量に出ていたらそれなりに普及はしてたはず タペって企業がバックにいたりしないの? Strutsって結局Sunがバックにいたからあんなヒドい作りなのに広まったんだよね。 社員であることとバックアップとは関係ねーべ JSFならSunと関係があるが 結果を見ると、関係があったといえるんじゃないかと。 JSFみたいに組織的なバックアップはしてないけど、バックにサンがいることは大きいかったと思う。 IBMとNTTじゃなかったっけ?Strutsをバックアップしてたの Tapestryって、そういう噂レベルでもいいから企業が後押ししてるっていうのないの? Tapestry 4.0-beta-12 released 作者BLOGに、OGNLを使わないように変更すると10倍速くなるってのが載ってる。 まあベンチマークなんで、本番環境の数字とは違うんだろうけど。 Tapestry 4.0-beta-13 released Tapestry 4.0-beta-14 released ってか、WebWorksもStrutsに参加して、HTMLテンプレートとしてWicketが流行ってて、標準フレームワークはJSF+EJB3で、Tapeってどういう位置付けになるの? 質問なんですけど、 Tapestryの開発って、.htmlを変更したのを反映させる方法って、 Tomcat(コンテナ)を再起動するしかないんですかね? server.xmlのreloadable設定も効かないみたいだし…。 >>691 -Dorg.apache.tapestry.enable-reset-service=true >>692 サンクス。 これでInspectorButtonを使うのですね。 ちょっと前だけどJSFとTapestryの比較記事があった。 ttp://www.theserverside.com/articles/article.tss?l=JSFTapestry Tapestry 4.0-rc-1 released やっとこさRCキタ Tapestry 4.0-rc-2 released Tapestry 4.0-rc-3 released > 698 : 【大吉】 :2006/01/01(日) 01:40:59 ばっちりだな DirectLinkだけで間に合うと思うのですが、 ActionLinkを使った方がいいケースってありますか? >>702 きたね。かなりbeta/rc期間が長かったな。。 Release note ttp://jakarta.apache.org/site/news/news-2006-q1.html#20060107.1 Download ttp://jakarta.apache.org/site/downloads/downloads_tapestry.cgi リリースされたら話題が途切れるって、 誰も使ってないんじゃ…… 使ってるよ。 contribにあるXTileってコンポーネント ドキュメントになってないみたいだけど、 もともと http://www.t-deli.com/ にあったのが 気がついたらcontribに含まれてた。 で、これ日本語うまく通らないみたいで、 自分でパッチあてて使ってるんだけど、 AjaxもJavaScriptもあんまり詳しくないんで、 正しいのかどうかよくわからない。 --- orig/org/apache/tapestry/contrib/ajax/XTile.script 2005-11-08 13:09:29.000000000 +0900 +++ new/org/apache/tapestry/contrib/ajax/XTile.script 2005-11-08 13:09:45.000000000 +0900 @@ -88,7 +88,7 @@ function quoteUrl(text) { - return escape(text).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27'); + return encodeURIComponent(text).replace(/\'/g, '%27'); } function extractData(response) これでとりあえず動いてるんで、 そのうちきちんと調べようと思ってそのままになってた。 誰か詳しい人教えて。 っていうかスレ違いか。 もうTapestryの話じゃないね。 http://pcweb.mycom.co.jp/news/2006/02/23/365.html デザイナとのやり取りを考えればStrutsやJSFなんて目じゃないのに 日本語資料がないだけに流行らんね 結局>>361 か ありがとう。 具体的なサンプルコードが見たいんだけど、 探してもあまり無いんだよね。。。 とりあえずこれまで探したURLを。 ttp://d.hatena.ne.jp/winebarrel/archive?word=OGNL ttp://t-katochin.air-nifty.com/nongreasy/2005/03/ognl.html ttp://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page=OGNL OgnlContextの具体的な使い方とか、そういう情報を探してます。 TapestryってStrutsと統合して使用できるの? ActionとかActionFormは使うけど、ビューはHTMLのまま(JSP使わない)というような感じに。 >>717 無理です。Tapestryの構造は、プレゼンテーション層だけを切り離して使うことはできません。 Strutsと統合したいならSeasarプロダクツをお使いください。 S2Containerを介して両者を連携させるなんて余計ややこしいことになりそうなので現実的ではないな。 >>719 Mayaaなら、S2Containerとは関係なく使えるよ。 Mayaaは実装上S2とは関係ないからS2非信者でもおっけ。 ホームページも独立してるしね。 >>717 strutsのコントローラーを使いたい、だけどJSPは嫌だ。 君の言う趣旨がそーゆーことなら、Freemarke、あるいは velocityをviewに採用するというのが一番素直な方法だと 思う。 スレ違いスマソ 21 June 2006 - Tapestry TLP move Tapestry has moved to a TLP at its new address, http://tapestry.apache.org. 今更だが、日本でTapestryが普及しない2番目の理由に(もちろん1番目は日本語ドキュメント)、 付属してくるサンプルがバギーで使い道がないモノだらけだから、てのがあると思うの それだと日本とそれ以外とで違う理由にはならないような……。 >>725 IT業界とかJavaとか、そんなんが流行ってないような。 StrutsやJSFは捨ててこっちに移ることにした。 疎結合マニアの俺としては、あれらは肌に合わない。 デザイナに「はぁ?何そのルールw」とか いわれることを想像すると泣きたくなっちゃうしね。 ゴメス チェンバレンです・・・ 4.1から、unstableの文字が、取れたとか取れないとか・・・ これとかWicketの方がVisual Web Packに向いてると思ったんだけど それっぽいツールとか出てないのかい?for HomepageBuilderみたいな感じで。 tapestry5のPreviewが出ていたけどどうなん? >>736 maven2ですぐに試せるから試してみるといいよ。 http://tapestry.apache.org/tapestry5/tapestry-simple/ とか http://tapestry.apache.org/tapestry5/t5-tutorial.pdf に書いてあるけど、 mvn archetype:create -DarchetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=tapestry-simple -DarchetypeVersion=5.0.1 -DgroupId=org.example -DartifactId=myapp -DpackageName=org.example.myapp -Dversion=1.0.0-SNAPSHOT cd myapp; mvn jetty:run http://localhost:8080/myapp にアクセス。 何がどう最高なの? いまやStrutsどころかJSFやSeasar2がでてきて わけわかめな俺によさを教えてくださいな うーむ、スレがたってから3年も経っているのか。 当時、これをネタに卒論で研究している香具師いなかった? >>10 はじめ何のことだかぜんぜんわからなかった。 ディスクシステムか! なんでそんなもんが! ぐぐったら意味不明なクソゲーだ ゲーム内にtapestryという単語がでてくるわけね 立花理沙って誰だ? HowTo: Tapestry5.0.2でShiftJISテンプレートを使う方法 org.apache.tapestry.internal.services.TemplateParserImpl 160行目付近 try { InputSource source = new InputSource(resourceURL.openStream()); source.setEncoding("Windows-31J");//追加 _reader.parse(source); return new ComponentTemplateImpl(_templateResource, _tokens, _componentIds); } org.apache.tapestry.internal.services.PageResponseRendererImpl 47行目 //PrintWriter pw = response.getPrintWriter("text/html"); PrintWriter pw = response.getPrintWriter("text/html; charset=Windows-31J");//文字コード強制指定 >>744 テンプレートにencoding指定したXML宣言書いて、 AppModule.javaにPageResponseRendererのデコレーションメソッド書いたらできたよ。 ↓AppModule.javaに追加するデコレーションメソッド @Match("tapestry.internal.PageResponseRenderer") public static PageResponseRenderer decoratePageResponseRenderer( @InjectService("tapestry.internal.PageMarkupRenderer") final PageMarkupRenderer markupRenderer, @InjectService("tapestry.MarkupWriterFactory") final MarkupWriterFactory markupWriterFactory, final Object delegate) { return new PageResponseRenderer() { public void renderPageResponse(Page page, Response response) throws IOException { MarkupWriter writer = markupWriterFactory.newMarkupWriter(); markupRenderer.renderPageMarkup(page, writer); PrintWriter pw = response.getPrintWriter("text/html; charset=Shift_JIS"); writer.toMarkup(pw); pw.flush(); } }; } >>745 Tapestry5.0.3の場合 @Match("PageResponseRenderer") public static PageResponseRenderer decoratePageResponseRenderer( @InjectService("PageMarkupRenderer") final PageMarkupRenderer markupRenderer, @InjectService("MarkupWriterFactory") final MarkupWriterFactory markupWriterFactory, final Object delegate) { return new PageResponseRenderer() { public void renderPageResponse(Page page, Response response) throws IOException { MarkupWriter writer = markupWriterFactory.newMarkupWriter(); markupRenderer.renderPageMarkup(page, writer); PrintWriter pw = response.getPrintWriter("text/html; charset=Shift_JIS"); writer.toMarkup(pw); pw.flush(); } }; } >>746 なるほど [TAPESTRY-1339] - Rework Tapestry IoC to remove the concept of module ids and qualified service ids ですね。 5.0.3にしたら @Id, @Contribute アノテーションでコンパイルエラーになったんで、 とりあえず5.0.2に戻してたんだけど、そういうことだったのか。 Last Published: 29 Mar 2007 @Inject使用方法変更 @Path,@Serviceアノテーション追加 Tapestry5.0.4 http://people.apache.org/ ~hlship/tapestry-releases/ Tapestry5.0.5 http://people.apache.org/ ~hlship/tapestry-releases/ 寂れてるけど一応書いとく。 @Meta("tapestry.response-encoding=Shift_JIS") をページクラスにアノテーションすれば良くなったので、 AppModule.javaいじる必要なくなった。 apache projectにturbine、tapestryとあるけど、 それぞれどう違うの? 両方ともプレゼンテーション層のフレームワーク? Tapestryで、WicketとかTeedaみたいに HTMLとロジックを完全に分離してしまう事って可能ですか? WicketとかTeedaがTapestryみたいにHTMLとロジックを分離できる。じゃないのか? そしてTapestryはWebObjectみたいに・・・となるわけだが。 >>756 確かにTapestryの方が「生HTMLっぽいTemplate」を使う考え方は 早かったかもしれませんが、WicketやTeedaほどキレイに分離できるのでしょうか? テンプレートとして使用するHTMLが、 それ単体でブラウザから見ることができるのか? というとこまではできそうに無いなあ、と思っているのですが。 >>757 それは普通にできるでしょ。それらコンポーネント方式組はほとんど兄弟。 正直、 ・デザインテンプレート部分 ・裏側のコンポーネントモデル ・それらを結合させるグルー言語 は標準化して、エンジンがJavaで書かれてようがなんだろうとOKにして 欲しい。汎用言語と違うグルー言語記述を導入した時点でベースエンジンから 完全に切り離し可能になってるわけで。 「〜ほどキレイか」という部分については、Tapestryの方が今となっては シンプルさに劣ると思うけど、それはHTML/ロジック分離の所にはあんま 影響してないと思う。 >>758 Tapestryでもキレイに分離できるのですか、勉強不足ですいません。 BeanEditFormのサンプルとかを見て、 input タグとか書いてないのに入力formが生成されてるとは何事か! とか思ってました。 ちなみに、Wicketでも WicketWebBean なるものが A Wicket Diaryで紹介されてましたね。 http://www.kensayoyaku.mlit.go.jp/CarAnswer/app 国交省の車検予約しようとしたら偶然見つけた HTMLのソースを見るとTapestry使ってるっぽい。 それにしてもTomcatモロ出しとは。。。 作った奴このスレ絶対読んでるだろ。 小規模案件だから実戦体験を兼ねて使ってみたのかな・・・ JSF2.0の策定にTapestryの中の人が誘われてるって話はどうなったんだろう。 中の人はアンチJSFらしいけど、ことがうまく運べば素晴らしい相互運用性が得られるね。 >744はShift_JISで書かれたテンプレートをtapestryに読み込ませる方法で >745以下はresponseのエンコード指定方法だよね? >744の問題のほうだけどどう解決しようか 思いつくのは、 1、おとなしくUTF-8でテンプレートを書く 2、<?xml version="1.0" encoding="Shift_JIS" ?>とテンプレートの先頭に書く 3、TemplateParserImplのコードを書き換えるorAppModuleあたりで TemplateParserのサービスを自分実装のものに置き換える >>767 普通に2でしょ。 あと>>745 のは5.0.5から必要なくなってる。 @Meta("tapestry.response-encoding=Shift_JIS") とページクラスにアノテーションすればレスポンスはShift_JISになる。 Tapestryが使われている日本語のサイトはあるのか? 特にTapaestry5 >>771 764にあがってる国交省の車検予約。 5ってまだベータだよね?さすがに無いんじゃね。 tapestry5.0.15がリリース。 まだベータだが。 Tapestryが日本で使われない理由はやはり>>361 ですか? 自分が働いている企業は主にTapestry4.1-hibernateを使っています。 学生でもあるので卒業後日本に戻る気ですがTapestryでは仕事もらえそうにないですね。 個人的に好みなのに。残念。 まだリリースされていないけどTapestry5は行けていると思うよ。 Wicketに比べるとコード量もだんぜん少ないし。 やはり日本語ドキュメントが無さ過ぎる感じがする。 ttp://kuramo.ch/tapestry5/ja/ にがんばってもらいたいのだが... >>776 しばらく止まってしまってたが、またがんがるぜ。 ちょうど今、日本語訳を5.0.15に更新したところだ。 Tapestry5ではAjaxが異常に簡単だぞー スクリーンショットを見ればすぐわかるぞー ttp://tapestryjava.blogspot.com/2008/11/tapestry-5-ajax-screencast.html Tapestry 5.0.16 (Release Candidate)がリリースされた。 だれか ValidationMessages.properties Errors.properties ... をローカライズして送ったれ。 Tapestry 5のコンポーネントの拡張例 ttp://87.193.218.134:8080/t5c-demo/ >>779 おk。俺がやっとく。 あと BeanEditForm, GridColumns, GridPager, Palette あたりもかな。 どうせデフォルトのまま使うことってあまり無いし別にいいじゃん、とか思ってたけど 結構たくさんの言語にローカライズされてんのね。 >>781 Tapestry5は独自にTapestry IoCのがあるから、 Guice、Springは使う必要性がない。 Springとはtapestry-spring使えば簡単に連携できる。 Guiceとの連携はだいぶ前にMLで話題になってたようだけどよくわからん。 >>784 必要性がない、は言い過ぎではないかしら。 Tapestry5.1はリリースされているTapestry5.0.8と比べて何が良いかな? Tapestry5.0.18の日本語の情報がなさすぎだ >>788 ttp://kuramo.ch/tapestry5/ja/ はどうだ? 5.0.18に対応していなが良く訳している。十分だろう。 Tapestry5の勉強会をするらしい。 ttp://d.hatena.ne.jp/yone098/20090321/1237731138 >>793 AppEngineってTapestryなの? flockというRSS ReaderがTapestryで作られていた。 自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L 名言集 その1 『アパッチ砲はワシが作った』 http://jbbs.livedoor.jp/bbs/read.cgi/internet/134/1229674638/5062 自分の管理するしたらばで借りた掲示板にて > 5062 :自動保守 ◆AOIMAD.NZM [] :2009/08/16(日) 00:46:29 ID:nQYgq9jg0 > そもそも、アパッチ砲っていうのは、私が指揮官になった時代に私の先輩たちが導入して > 先輩たちが命名したもの、っていうかまぁ、そういう砲は今まで存在してないから > 名前つけなくちゃいけないしw > > ってことで、使っているうちに広まった名前なので、それが正式名称になるんじゃないかと。 > > http://www.paradisearmy.com/doujin/pasok_apache.htm (俺の先輩が命名) > http://www.paradisearmy.com/doujin/pasok_hping.htm (俺が命名?) ※注 「アパッチ砲」の正式名称は「Apache Jmeter」で、もちろん自動焼人の先輩が作ったものではありません ---------------------------------------------- この自動焼人 ★メールマガジンの配信停止をご希望される方は http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/ にて自動焼人 ★までご連絡ください 2011年にようこそ(本当に流行らなかったな・・・ ↓↓↓ 「「「「「「「 ■Google、AppEngineでJavaのサポートを開始■ 」」」」」」」(キリッッッッ!!!キリッッ!!!!!! ↑↑↑(キリッッきリ!! ゴミって意味わかってんのかなこいつら >>794 ↑↑↑ハッアアアアアアアアアアァアァアアァアアアアアアアアァアアァ?????????????? 死ねよゴミ ゴミグラマって気持ち悪いんだな Apache的には、Apacheプロジェクト内のJavaのWebフレームワークって 何が本命なのかね 2003年からTapestryスレあったとは。 こっちにもコピペ 630 名前:デフォルトの名無しさん[sage] 投稿日:2012/06/03(日) 16:25:12.45 >>1 Java用Webアプリケーションフレームワークの総合スレもできたよ 【Java】 Java Web Application Framework 総合 http://toro.2ch.net/test/read.cgi/tech/1338707919/ 1000 :uy ◆xVOGOO9ev6 :2012/06/23(土) 12:35:29.68 俺は動的言語の問題点をいくつあげてもwwwww 静的言語よりはマシだと確信してるわwwwwwwwwwwwwwwwww 静的言語の問題点をなぜ挙げないかって?? 見放してるから、問題点を指摘さえしないってことだよwwwwwwwwwww 気づけバカwwwwwwwwwwwwwww _ r-、' ´ `ヽr-、 ィ7 /l: ハヽハ トヾ 駄スレを沈めることはこの俺が許さん! '|l |'´_` ´_ `| || 信念に基づいて行動する、 | |´ヒ} ヒ}`! l | それを人は正義と言う。 __ノ゙). 从 l, _'_. |从 今俺が行ってることは、上げ荒らしではないっ ,_'(_ ノ_ヽ ヾl.> - ,イ;リ 正義という名の粛清だぁ! { f:テ} {'f:テ}',/\ヽ--//ヽ ヽ,r─‐ 、ィ .、、 i l>Y<! i '、 バーニング! / iゝ_ノ iヽ /l |l l ', lンヽ/ムノじ TapestryはFaceletsの構想上の親でしょ 役目は果たしたんだから恥じることなく畳めばいいよ ★2ch勢いランキングサイトリスト★ ☆ +ニュース板 ・ 2NN ・ 2chTimes ☆ +ニュース板新着 ・ 2NN新着 ・ Headline BBY ・ Unker ☆ +ニュース板他 ・ Desktop2ch ・ 記者別一覧 ☆ 全板 ・ 全板縦断勢いランキング ・ スレッドランキング総合ランキング ☆ 実況板 ・ 2勢 ・ READ2CH ・ i-ikioi ※ 要サイト名検索 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 L4HAH ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる