Tapestryについて語ろうよ!

1AceNGNG
JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?

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

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

Tapestryに興味ある人レスよろしくね!

2デフォルトの名無しさんNGNG
まずそれについて簡単な説明ヨロ!
期待してるぜ!

>>1
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/
じゃあかんのか?

4デフォルトの名無しさんNGNG
Velocityとの併用はできまっか?
JBOSSとの併用、
Turbineとの併用、JSFとの併用もできまっか?

マルチポ (ry

6AceNGNG
>>4
TapestryはTomcatから見ればただの1サーブレットなので、
他のサーブレット、フレームワークとの共存?(同じWEBアプリ内で使う意味)はもちろんできるよ!
ただTapestryはURLをフレームワークが生成するという概念なので、
Tapestryアプリ(ページ)からStrutsアプリ(ページ)へのリンク
特に動的パラメータつきのサーブレットを呼び出したりするのは、
知っていれば簡単だけど、ちと習得に時間がかかるかな。
逆(StrutsからTapestryへのリンク)は拡張タグlibがついているので簡単だよ!

ただしTapestryテンプレートの中にJSPのような<% %>は埋め込んでも無視されます!

7デフォルトの名無しさんNGNG
>JakartaのTapestryフレームワーク使ってますか?
>日本ではなかなか情報が手に入らず、本家のドキュメントも
>古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?

こういう状況では使いたいと思っても「挫折」という感覚はないなぁ。
俺は explorer ではない単なるへたれなので、世にこなれてくるまで放っておく。
こなれてれば英語でも開発ストップしてても使う。

8AceNGNG
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

実行時は同じでも、デザイン時はどちらがブラウザやオーサリングツールに
やさしいかは一目瞭然!

9デフォルトの名無しさんNGNG
おいらも詳しく知りたいな。期待してるよ

リサの妖精伝説だな。

11デフォルトの名無しさんNGNG
>>8
Strutsは既存のHTMLを拡張タグに書き換える手法だから、
実行して初めてどのタグに変換されるか確認できるが、
Tapestryは既存のHTMLタグに存在しない属性にパラメータを渡すから、
実行しなくても容易に実行時のイメージがブラウザで確認できるという意味かな?

12デフォルトの名無しさんNGNG
Tapestryって日本で使ってるやついるの?
いいサイト教えてくれ!

13デフォルトの名無しさんNGNG
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ

いいか?これは、どのフレームワークにもいえることだが
Tapestryを使うためにアプリ作るわけじゃないだろう?
アプリ作るためにTapestryを選択するわけだ。
だけどよ、Tapestryを選択しないといけないようなアプリってどんなのよ?
スレ立てるほどの需要があるとは思わないが

>>3
同意

>>13
概ね同意だが、独りよがりで馬鹿っぽい。

15デフォルトの名無しさんNGNG
>>13
デザイン重視の会員向けWebサイト(アプリ)
デザインが定期的、もしくは割と頻繁に大きく変更されるWebサイト(アプリ)
拡張タグを理解するのが苦手なWebデザイナーをかかえているシステム会社
拡張タグを認識できないWebオーサリングツールを使用しているデザイン会社にWebデザインを外注するシステム会社
なんかの場合どうでしょう?
Strutsを選択しないといけないようなアプリの方が少ないと思うが?

16デフォルトの名無しさんNGNG
Strutsにしても、Tapestryにしても、
拡張タグを使わせるフレームワークは個人的には嫌いだし、
何年か経つと単にお祭りで終わっている気がする。

プレゼンテーション層は、
HTMLタグ
jspタグ(あるいはJSTL)
だけで構成すべきだと思う。

もちろん、Beanを使用して、コントロールサーブレットで
構築するMVC手法は守るんだけど。


17デフォルトの名無しさんNGNG
>>15
デザイン重視って言う意味がわからない
デザインなんて関係ないじゃん。
TapestryでできることはJavaScriptだってできる。

Tapestryがページ単位で選べるのだったらいいが
それは難しいだろう。

1815NGNG
>>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の拡張属性を埋め込んだままデザイナーに渡せるよ。
デザイナーが編集するファイルと実行時のファイルが同じだからできるのさ。

19デフォルトの名無しさんNGNG
>>18
ちょっとずれてしまうが
Webフォームとどうやって連携するの?
TapestryつかうとStrutsとか当然使えないと考えての質問です
共存は出来ないんでしょ?

20AceNGNG
Tapestryリンク

●●●メイン●●●
○Tapestry本家
http://jakarta.apache.org/tapestry/
○Spindle(Tapestry Eclipse Plugin)
http://spindle.sourceforge.net/
○Tacos(Tapestry Component)
http://tacos.sourceforge.net/
●●●書籍●●●
○JAVA World 2003年12月号
http://www.idg.co.jp/jw/
○WEB+DB PRESS Vol.16
http://www.gihyo.co.jp/magazines/wdpress/archive/Vol16
○Tapestry in Action
http://www.manning.com/lewisship/
●●●作者解説サイト●●●
○Beginning Tapestry
http://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt
○Tapestry-WebTech
http://tapestry.sourceforge.net/Tapestry-WebTech.pdf
○Designing Tapestry Mega-Components
http://www.onjava.com/pub/a/onjava/2001/11/21/tapestry.html
●●●個人解説サイト●●●
○うえやんのページ
http://homepage3.nifty.com/ueyan/tapestry/index.html
○Tapestry Tutorial
http://tapestry-tutorial.cloudnine.net.nz/Tutorial2.html

21AceNGNG
●●●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.独自コンポーネントの作成

22AceNGNG
以下を知りたい人は私が本を出版するのに賛同して下さい。(^_^;
有料情報
○Tapestryの欠点・バグ・修正方法(割とお勧め! 3万円相当)
○Tapestryで携帯Webサイトを作る(かなりお勧め! 10万円相当)
○Tapestryで携帯&PC共存サイトを作る(割とお勧め! 3万円相当)
○Tapestry+EclipseUMLを用いた設計・開発(かなりお勧め! 10万円相当)
○TapestryにJDBC機能を持たせる拡張方法(割とお勧め! 3万円相当)
○デザイナーとの連携

23デフォルトの名無しさんNGNG
かなり期待してます。次はいつかな?

Tapestryマンセー

まぁ、WebObjectsのWOFのパクリなわけだが、
WOは嫌いではないので期待してはいる。
いいんじゃないかい、これ。

>>22
出版するには期待しないけど、
ちゅうーかやるなよ。
Tapestryについてかたるのは、OK

27デフォルトの名無しさんNGNG
早く本出せるようがんばれよ!期待してるぜ

28デフォルトの名無しさんNGNG
ところでTapestryはサーバーサイドプログラミングの
「WEBプログラミング」板の方がいいんじゃないの?
http://pc2.2ch.net/php/
板違いモゲホゲ

29デフォルトの名無しさんNGNG
で、Tapestryは本当にWeb限定なのか?

30デフォルトの名無しさんNGNG
もう、いいだろ?
開発スピード落としてまで使うことはない。

素直にStrutsか.NET使った方が開発スピード速いよ。

>>30
開発スピードは変わらないと思われ。
変わると思うなら根拠を述べよ。

Tapestryのいいところは、デザインとロジックの
分離がきれいにできているところじゃないかなぁ。
それぐらいだけどね。

32デフォルトの名無しさんNGNG
>>31
Tapestry覚えるのに時間かかりますよね?
今、習得している技術でTapestryと同じ事できないか?
おれはASP.NET(C#)、Struts、Tapestry、Struts+Tapestryで色々試したし
雑誌記事もよんだ。
ココであえてTapestryを選択する意味は何だ?
『それぐらいだけどね』のために、新たに学習するのは
コストかかるよ。
それに>>18が言っているような開発現場のほうがおかしい
なんでデザイナーとプログラマがああいう関係になっているのかわからん
>(そのとき、デザイナーに直してもらうファイルは元のHTML?それとも拡張タグを埋め込んだJSP?
>当然元のHTMLを修正してもらって、その後プログラマーが前と同じようにJSPに変換するよね )

雑誌の記事の受け売りなのかは知らんがそんな現場あるのか?
もっと頭使って仕事分けてほしい。

>>32
ごめん、漏れその辺何も触ったことがないんだが、
ズブの初心者だと、Tapestryとそれ以外だとどっちがいい?
何となくTapestryは直感的にわかりやすそうな気がしたので
気になっていたんだけど、>>32を読んだら他の奴の方が
いいのかなという気がしてきた。

34デフォルトの名無しさんNGNG
>>33
最初からTapestryやるのなら何も文句いわないよ
ましてや、趣味でプログラミングなら何も文句はない。
俺はStrutsやNETの方が全体的に浸透しているという前提で話しているだけだから。
しかも俺が言ってるのはフレームワーク自体の優劣の事は言っていない。
ただ、Java系ならStrutsは知っておいた方がいいかもしれない
Tapestryってあまりサーブレット的なプログラミングではないので
サーブレットの仕組みを知るためにStrutsからやった方がいいとは思うけど。



35デフォルトの名無しさんNGNG
>>18
それみるとさ、
strutsでVelocityを使えばいいのでは?
と思うんですがどうですか?

>>32
なんだ。
技術を習得する噺家。
あんなもん、三日あれば理解できるだろ。
基本的なこと以外は、コンポーネントの設定の話だから。

デザイナとプログラマの話し出てたけど、
デザイナがHTML以外を使う話は聞いた(経験した)ことない。
プログラマが、JSP直でいじっている以外は、
デザイナが作ったHTMLをプログラマが毎回
JSPに変換しているはずだよ。

ドリがJSPを理解できるなら別だけどな。
というわけで、JSFも糞だな。

ドリってなによって聞くなよ。

36に賛成!

ドリってなによ?

39デフォルトの名無しさんNGNG
しかし、どうもプロジェクト乱立しすぎじゃないかと思う。
一つ一つは覚えれば、複雑でわからないといったことはないが、
Jakarta全体で将来、どうしたいのかが判りにくい。
特にVelocityとTapestry、微妙にかぶっているとこもありそうだし、
Jakartaは調整が必要な気がする。

個人的には勝ち残りフレームワークしか使いたくないし。

40デフォルトの名無しさんNGNG
確かにCommonsなどを見るとXML関係が妙に乱立しているね。

けどオープンソースにそういう調整は要らないよ。
要るとしたら見た目だけの調整や、
どれがどのような用途に向いているのか、
どれがどれとどう違うのかをはっきりと明示するなり
用途に合わせたお勧めを紹介してもらうが吉。

商用アプリじゃないんだしオープンソースに勝ち残りなんて関係ないさ。
使われない技術が消えると言うこともまずないさ。
消えたとしても名前が変わったとか他の技術と融合する程度さ。
それに不満があるなら自分で改良すればいいさ。


とりあえず、英語のリソースを翻訳することから始めよう。

…と思って見に行ったら、いきなりTutoriaとDeveloper's Guideがout of dateだったよ。

43デフォルトの名無しさんNGNG
>>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タグの属性にロジックを埋め込めるから、
テンプレートの見た目と実行時の見た目がほぼまったく同じなのです。
画像貼り付けられないのが残念ですが、信じられないならお試しあれ。

44デフォルトの名無しさんNGNG
Exciteで日本語に翻訳したやつなら作ったよ
直訳だとほとんど意味不明
StatelessとかStatefulが「州」になるのが特にイケテなかった
欲しかったらbase64で貼り付けるけど?

4541NGNG
>>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以外にもどんな言語にも使えるんだね。

宣伝?

48デフォルトの名無しさんNGNG
PHPでも使えるとはいえServletコンテナ使用することが大前提なんだね。
Velocityとはそのあたりが異なり微妙だ。
なんでServletが必要なんだろう。
ドキュメントをまだよくよんでない、実際に使っていないのでまだよくわかんない。
簡潔な説明できたらよろ

49デフォルトの名無しさんNGNG
>>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つずつ指定する方法もできないわけではない。

50デフォルトの名無しさんNGNG
それではカスタムタグライブラリの立場が・・・・・

51デフォルトの名無しさんNGNG
>デザイナとプログラマの話し出てたけど、
>デザイナがHTML以外を使う話は聞いた(経験した)ことない。
まだあるのか?そんな職場・・・
フレームワークどうこう言うより
開発現場のやり方がおかしい
そういう分野の最新技術は追い求めないのですか?

>>36
お前開発者なのか?
>三日あれば理解できるだろ。
3日ってなによ?3日も時間費やしてなんとも思わないの?

>>39
プロジェクト乱立は別にいいんだよ
ただよ、それを記事で取り上げる雑誌が悪いと思う
他にネタがないのだろうな多分。
でもって、それを読んだ読者が影響されてしまう。
最初の頃は良かったが、どの雑誌もJakarta取り上げるようになって
大して役に立たないものまで紹介する始末。


役に立つかたたないかは人による

>役に立つかたたないかは人による
その程度のもの偉そうに取り上げて欲しくないね

たとえばどんな?


他にTapestryのお勧め意見ください
>>31
>「Tapestryのいいところは、デザインとロジックの 分離がきれいにできているところじゃないかなぁ。 それぐらいだけどね。」

↑みたいにたいして説明できていない昨日今日使ってマンセーってのは参考にならん

>>57
へえー。
昨日、今日使ってどうなんて関係無いだろ。
別にTapestryまんせーでもないよ。
これまで、JSPとHTMLの変換で大変だったから、
こういうアプローチだとうまくいくのかと思っただけ。

>>51
現場でさ、JSP書くデザイナなんかいないって。
開発者が書いているのは別だよ。
イントラなら十分にありえる。

最新技術を使ってたら なんて
どういう技術よ。

59デフォルトの名無しさんNGNG
>>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){%>ダミーデータ<%}%>と記述すればダミーデータを入れられるのだが、
そんなことする人はいないという現実を見ましょう。

60デフォルトの名無しさんNGNG
これまたエスケープシーケンスの取り扱いが
面倒なことになりそうや
$や@を直に入力して使えんじゃないか
わざわざ&を&とか>を>とか<を<とかに置き換えるみたいに
$や@もエンティティ参照で置き換えねばならんかい?

2chブラウザがかってに置き換えた?
&を &amp; 
>を &lt;
<を &gt;
とかにおきかえるってことで


62デフォルトの名無しさんNGNG
>>60
その必要はなし!
$と@を使う予約ワードはjwcid属性の値のみだから、
jwcid="$remove$"とかjwcid="@ExternalLink"
という風に数もたかだか知れている。
他の場所に$とか@があったらそのまま文字として出力されるよ

ちなみにロジックで生成した文字列の中に&、>、<、が入っていて
それを@Insertで出力する場合は自動的にHTMLエンコードして
&amp;&lt;&gt;として出力されるのは
<bean:write>と同じです。

しかしどこかでエスケープを気にしなければならない部分があると思うのだが
どこなんだろう?

64デフォルトの名無しさんNGNG

65デフォルトの名無しさんNGNG
age

66デフォルトの名無しさんNGNG
>>58
>現場でさ、JSP書くデザイナなんかいないって。
誰もこんなことやれって言ってない。
頭使って仕事分けろ。って言ったんだ。
その答えが「デザイナがJSP書く」なら何も言わないけどよ。
おまえら、デザイナと完全に分業してるの?
話しもしないの?話するのウザイとか思っている職場ですか?

>>59
これはメリットだと思うのだけど、Struts Tilesのようにページをパーツごとに
分割している場合、ブラウザではちゃんと表示されないよね。
結局サーバを介して確認しなくちゃいけない。

68デフォルトの名無しさんNGNG
age

69デフォルトの名無しさんNGNG
>>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
しか出力されません。デザイン時には当然すべてのデータでデザインできます。

70デフォルトの名無しさんNGNG
>>66
うちの会社はデザイナーいないよ。
外注先デザイン会社の営業の人とは話するけど、
デザイナーとは直接コンタクト取れないね。

71AceNGNG
Tapestry入門実践講座

1.はじめに
 サーバーサイドJavaにおける、サーブレット+JSPのコーディング自由度の高さに起因する数々の問題点から、オープンソースフレームワークを用いた開発手法への期待が高まっている。
その中で、現在日本で最も使用されていると思われるStrutsフレームワークを用いて、デザイン(ビュー)とロジックを分離することの利点に対しての理解も今や周知の状況と言えよう。
しかしながら、実際の開発現場、特にHTMLデザイナーとWEBプログラマーが完全に分業しているシステム会社でのWebアプリケーション開発、保守手順から考えると、
StrutsはJSPの根本的な欠点を克服できていない。
つまり、HTMLデザイナーが使用するメジャーなWYSIWYGのHTML編集ソフト(HomePageBuilder等)はスクリプトレット、拡張タグをほとんど解釈できず、
WEBプログラマーの地道な作業により、1つずつHTMLタグから拡張タグへと書き換えていることだろう(なんと単調でつまらない作業なことか!)
これは今後主流になる可能性が高いJSFもほぼ同じ欠点を持つ可能性が高い。(開発者の声を聞け!)
 この講座では、Strutsを用いたMVCスタイルの開発への期待と絶望を体験したWEBプログラマーに対して、海外で人気が高く、Struts対抗馬と言われつつあるTapestryフレームワークを紹介し、
このフレームワークを用いることによって、よりビジュアルに、デザインの自由度と再利用性、HTMLデザイナーとの完全分業スタイルへの手助けとなることを期待する。

72デフォルトの名無しさんNGNG
Tapestryのソースを見ると、
CVSでヴァージョン管理するときに
$$記号でソースコード内にヴァージョン番号などをつけるのが難しくなると
思うのだが、
そういう場合はどうすれば言いのだろうか?
Tapestryで本番JSPに変換するときだけCVSの$Id$などをはずすように
チェックアウトせなあかん?


73デフォルトの名無しさんNGNG
>>72
TapestryはJSPではないのでそもそも「変換」という作業は必要ないよ
実行時に見せたくないなら
<span jwcid="$remove$">$Revision$ $Date$</span>

<span jwcid="$remove$">$Id$</span>
とでも頭に入れるといいよ

しかあし、たとえばこんなことをやりたいときは?
ボタンタグにヴァージョン番号をつけるんだ。

<input jwcid="$Revision 1.2$">$Revision$ $Date$</span>

これも$をエンティティ参照で$を消す?

75デフォルトの名無しさんNGNG
>>74
$Revision 1.2$というコンポーネントはないから、
この書き方自体意味が無く実行時エラーが出るよ
ボタンのテキストにRevision値を書きたいなら
<input type="button" value="$Revision 1.2$">

<button>$Revision 1.2$</button>
でいいんじゃない?
jwcidは存在するコンポーネント名の指定と$remove$、$content$にしか使わないよ

76デフォルトの名無しさんNGNG
age

13 名前:デフォルトの名無しさん 投稿日:03/11/02 18:25
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ

53 名前:デフォルトの名無しさん 投稿日:03/11/06 16:20
他にネタがないのだろうな多分。

78デフォルトの名無しさんNGNG
>>77
部分抜き出しで多数派工作なんて君はマスコミ?w

79デフォルトの名無しさんNGNG
>>71
次はいつかな?

80デフォルトの名無しさんNGNG
>>71
俺も早く見たい。入門講座

81デフォルトの名無しさんNGNG
Tapestryはほかにもどんな用途に使えるんだろう。
すべてのVelocityの機能をTapestryだけで実現することも可能なんだろうか?

Velocityを使った、EclipseのSimteekプラグインのように
プログラミング時のソースコードテンプレートに使える用途はあるのか?

82デフォルトの名無しさんNGNG
>>71
俺も期待してるよ!

>>81
simteecプラグインの間違いだった
http://simteec.aluepke.de/

84デフォルトの名無しさんNGNG
>>71
今晩あたりかな?w

85デフォルトの名無しさんNGNG
>>81
TapestryとVelocityはまったく別のものだよ。

Velocityはテンプレートエンジン
TapestryはWebアプリのフレームワーク

86デフォルトの名無しさんNGNG
やはりWeb用にしか使えないのか?

いやまてよHTML上にかくということは、

XMLでも使えるということか?

ならば、かなり凄いことができる!?

87デフォルトの名無しさんNGNG
>>86
XMLでも
Anyコンポーネント
Foreachコンポーネント
Conditionalコンポーネント
Choose When Otherwiseコンポーネント
を使えば
XSLTと同じようなことができるね

88デフォルトの名無しさんNGNG
もまいら、もちつけ

まあ、ここで騒げば
簡単Struts
簡単Velocity
につづけて
簡単Tapestryが発刊されるだろう
それまで待っても遅くないよん

>>88
簡単Velocityはクソだったらしいな・・・。

まあVelocityの翻訳がクソだったのが問題なのだが。

90デフォルトの名無しさんNGNG
>>88
>>89
簡単Velocity
へのリンク希望!

91デフォルトの名無しさんNGNG

92デフォルトの名無しさんNGNG
>>89
いやだから、『簡単』Velocityなのです

93デフォルトの名無しさんNGNG
TapestryとVelocityを比較するとTapestryの方がよく見えてきたぞ

>>93
例えばどういう点?

>>94
名前

96デフォルトの名無しさんNGNG
ベム、ベラ、ベロシチィ! 
妖怪人間! ジャーン♪

97デフォルトの名無しさんNGNG
>>96
今どきそんなの誰も知らないよ

98デフォルトの名無しさんNGNG
今後比較予定だってー
www.spacewalker.tv/tapestry/comparison.html

99デフォルトの名無しさんNGNG
>>1
先こされるぞ!早く次を書けよw

100デフォルトの名無しさんNGNG
キリ番ゲット!

Tapestryとファンをダイレクトに結ぶ会員制オンラインファンクラブ「Tapestry club」。
ここでは、川畑・堂珍が積極的に参加して、いろんな企画をスタートさせていきます。

JAVA WORLDのサンプルのZIPは解凍しようとするとディレクトリ名が変だ?

103デフォルトの名無しさんNGNG
>>102
ああ、やっぱり?
おれもディレクトリ名が
「ケミストリー」になる

appディレクトリの前にゴミディレクトリがあるみたいだし。
解凍してしまったこの変なディレクトリ消すのめんどくさ。

105102NGNG
サンプル動いた。(^^)

106AceNGNG
2.JSPの欠点
JSPにはさまざまな長所、短所が指摘されているが、Tapestryと比較することに焦点を絞った場合、以下の点が欠点として強調される。逆にこれらの事項の裏返しがTapestryにおいて長所と言える。
●JSPファイルにはさまざまな言語(HTML,JavaScript,スクリプトレット,ディレクティブ,拡張タグ)が同時に含まれ、デザイナーはHTML,Javascript以外、特に頻出するスクリプトレット、拡張タグを理解できない
●JSPのスクリプトレットの書き方に標準がなく、プログラマーの能力差、経験差が大きく現れる
●HTMLタグから拡張タグへの変更が機械的で単調な繰り返しが多い
●JAVAはオブジェクト指向だが、JSPにはオブジェクト指向を感じない、デザインの再利用性が低い

107デフォルトの名無しさんNGNG
>>106
次は?もっと早いペースで頼むよ

WEBDB vol16見ながらやってるんだけど、
<input jwcid="@TextField" value="ognl:echo"/>
とか書いたら、
<input type="text" name="$TextField" value=""/>
に変換された。
これってjavascript使いたいときどうすんのさ。
name属性の値はテンプレの段階じゃわからん。
>>1は責任もって教えること。

109デフォルトの名無しさんNGNG
>>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付属のサンプル見るよろし

110デフォルトの名無しさんNGNG
>>108
早く返事しろよ
  ∧_∧
( ´∀`)つゴルァ

111108NGNG
>>109
昨日初めてさわったんよ。もっと教えて。
"hoge"を使うようなjavascriptだと少なくとも
テンプレHTMLの段階ではエラーになるから都合悪いって話。

>>109
早く返事しろよ
    ∧_∧
( ´∀`)つゴルァ

113デフォルトの名無しさんNGNG
おい、マキシシングル出たぞ
早く買えよ

114デフォルトの名無しさんNGNG
>>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
を書き換えて、自前のプロジェクトにマイコンポーネントとして追加するべし

115デフォルトの名無しさんNGNG
>>111
早く返事しろよ
 ∧_∧
( ´∀`)つゴルァ

116デフォルトの名無しさんNGNG
>>115
もっとカツラがズレてないとダメだぞ

    ∧_∧
( ´∀`)つゴルァ

117デフォルトの名無しさんNGNG
みんな知ってるかい?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.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・?

121デフォルトの名無しさんNGNG
>>119
どういたしまして You are welcome!

122デフォルトの名無しさんNGNG
>>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属性は書く必要なし

123デフォルトの名無しさんNGNG
>>120
早く返事しろよ
      ∧_∧
( ´∀`)つゴルァ

124デフォルトの名無しさんNGNG
>>123
もっとカツラがズレてるぞ

 ∧_∧
( ´∀`)つゴルァ

携帯用のページみたいに
同じurlでキャリアによってテンプレートを変えるってこと
Tapestryで簡単にできますか?

126デフォルトの名無しさんNGNG
>>125
簡単で、やり方は3通りかそれ以上あるけど、同じurlにする理由ってあるの?

127デフォルトの名無しさんNGNG
>>126
↓「ズラズレモナー」わすれてるぞ!
      ∧_∧
( ´∀`)つゴルァ

>>126
深い意味はないです
毎回UserAgentを見て表示先を変えるのって
どうやるのが一番スマートかと思って

129デフォルトの名無しさんNGNG
>>126
やり方教えて!!

130デフォルトの名無しさんNGNG
        / ̄ ̄ ̄ ̄\
  ∧_∧  | でたぁ! |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 


131デフォルトの名無しさんNGNG
        / ̄ ̄ ̄ ̄\
  ∧_∧  | でたぁ!  |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

132デフォルトの名無しさんNGNG
>>128
こんな感じで見ます

UserAgent   ←・・・・・・(・∀・ )

133デフォルトの名無しさんNGNG
>>130>>131

どんな時もズラせろよ↓

        / ̄ ̄ ̄ ̄\
∧_∧  | でたぁ!   |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

134デフォルトの名無しさんNGNG
JavaWorld見たかい?

設定ファイルとサーブレットマッピング、パッケージ配置の
お作法がわからん。

■パッケージpageの下にページ設定のXMLやBasePage
 を継承したクラスをおいた場合は、web.xmlにpageという
 仮想パス名でApplicationServletを割り当てないと駄目なのですが?
■hoge.applicationファイルってWEBアプリに
 ひとつだけ配置することになるのですか?
■pagegroup1というパッケージの下に配置したページから
 pagegroup1というパッケージの下に配置したページへ
 画面遷移することは可能ですか?

136デフォルトの名無しさんNGNG
>>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>

137デフォルトの名無しさんNGNG
>>135
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない

ページテンプレートはWEB-INFの下にフラットに置く方が、
デザイナーさんにファイルを送るときにまとまってて都合がよいよ

138135NGNG
>>137
なるほど。サンクス。
ボチボチサンプルアプリでも作ってみるかね。。

139デフォルトの名無しさんNGNG
>>98
http://www.spacewalker.tv/tapestry
消えてるんだけど(>_<)
どういうこと?責任取れ!

140デフォルトの名無しさんNGNG
俺達のTapestryは幻だったのか?

画面A - <submit> - submitActionメソッド - <処理OK> - <OK画面>
                          |-<処理NG> - <NG画面>

こんな処理を行ないたいのですが、参考になるサンプルなどを
教えてもらえませんか?
submitActionメソッドの中で遷移先のHTMLファイルを切り替えたいのです。

142141NGNG
自己レスすまそ。
requestCycle.activate("OkPage");
requestCycle.activate("NgPage");
で出来るな。
これからはヅラ直してから質問しまつ。

>>141
目を覚ませ
終わったんだよ・・・

144141NGNG
>>143
そっか、終わってたんか。
ww2の勉強に切り替えるかね。

145デフォルトの名無しさんNGNG
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 


147デフォルトの名無しさんNGNG
Validationの使い方教えて!

なんかよくわからんが…
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。

結局Tapestryだって、独自記述をデザイナーに理解させる必要が
あるわけだし、スクリプトレットを存在させないJSPと対して変わらんよ。
※ちなみに、初期時はともかくとして運用段階においてHTML以外を
 拒絶するデザイナー(だいたいバイト)なんて見たことない。

それに、純粋にプレゼンテーション層からビジネスロジックを
分離するのであれば、Velocityでのアプローチの方がまだましだよ。
ただ、主流じゃないからエンドユーザーへ提案しずらいのが、
そもそもの問題。
---
システムを買うのは、経営者であってデザイナーじゃないし、
経営者は知名度のある技術を好む。

どうしても分離したいのであれば、PHP+Smartyでいいじゃん。
今のところ、主流になっている組み合わせだし。
※それか、自分の趣味で遊ぶとかね。

と、ここまで書いておいて気付いたんだけど。
Tapestryの応援スレだったんだね。フレームワークスレだと思ってた…
水を差したのであれば、すいません。

気付いたならsubmitするなよ

150デフォルトの名無しさんNGNG
>>149
さんせいマンセー

折角書いたのを捨てるのもったいない気持ちも分かるw

それも貧乏性だろ>もったいない

153デフォルトの名無しさんNGNG
びんぼー(T_T)/

そもそもビンボーでなければ、オープンソースなんて使わないわけで。

>>136
その配置だとHTMLファイルを書き換えるたびに
WEBコンテナを再起動しないとだめじゃない?

156デフォルトの名無しさんNGNG
>>155
そうだけどそれが何か?

つづれおり、いいよね。

ユーガッタフレンド〜♪

159デフォルトの名無しさんNGNG
>>157
はぁ?

>157 キャロルキングだろ。たぶん

161デフォルトの名無しさんNGNG
age

162デフォルトの名無しさんNGNG
>>1
次はまだか?

163デフォルトの名無しさんNGNG
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

タペストリ

Tapestryってなんて読むの?

テープストーリー

167デフォルトの名無しさんNGNG
つまんねぇ

168デフォルトの名無しさんNGNG
>>1
次はまだかい?もう年越すぜ?

169デフォルトの名無しさんNGNG
age

170デフォルトの名無しさんNGNG
Tapestry のよさは、デザイン分離がクローズアップされがちだが、
もっとグレイトなのは、HTTPというプロトコル上ステートレスかつ
URL の連鎖で画面のコンテキストを追っかけるつくりになっちゃう
ところを、画面の構成コンポーネントのイベントハンドラで作り
こむ、まるで Swing みたいな設計をするところだと思うな。
その点、Struts とも Velocity とも比較するものではなく、JSF
と比較すべき存在だと思う。じゃなきゃ、Swing とかとの比較だ
な。まあ、クソスレの住人にはわからんだろうが。

このスレはめずらしく >>1 がまともかと思ったら、威張るだ
けで根性なしだったのがザンネンだ。マジにこの時期にTapestry
で成功事例もってるなら、金払っても話が聞きたかったものを。。
まわりもおだてて話させりゃいいものを、自分が理解もしていな
いのにヤヅでつぶしちまった。ほかに、Tapestry の読むに耐える
板はどっかにないもんかね?

>>170
激しく同意
WO 触っているせいでこの重要さは身にしみてる。
オープンソースでもこんなんできるようになったとは、
と感慨ひとしおですけど実はまだきちんと触ってないヘタレでつ...

172デフォルトの名無しさんNGNG
>> 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 次第では。

174デフォルトの名無しさんNGNG

Kさん 好循環  Aさん 悪循環  
 (健康体)  (喘息)

1.(神が喘息であるかないかを決める)

2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、
          五感(嗅覚)が鈍り感性が変化する

4.K&P 神は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。

5.K 変化なし   A アトピーになる

6.K 正常な感性  A 外に出なくなりさらに異常な感性になる

7.K 正常な人間   A 異常な人間(レッテル)

175デフォルトの名無しさんNGNG
8.K&A 死

9.K&A      来世

10.K&A 神は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。

11.K&A 神が喘息であるかないかを決める

12.K 喘息でない  A 喘息である

13.K&A    1.に戻る

これは事実。広めようぜ

解決法:体力をつけると感覚が正常に戻り、
    アトピーも快癒に向かう。
    目安としてグランドを10週くらい。
あとはウォーキング
    2.3時間を目安にウインドーショッピングや本屋めぐり


176デフォルトの名無しさんNGNG
おっ、Tapestry賛成派の意見が増えてきた
もうJAVA World出たよ>>1

ttp://www.geocities.co.jp/SiliconValley-SanJose/2565/tapestry/tapestry.html
spindle 使わない形のドキュメントだけどみっけた

178デフォルトの名無しさんNGNG
manning のアーリーアクセス+ペーパーバック後郵送の
サービスで「Tapestry in Action」買った!もちろん英
語だけど。結構いいこと書いてある。俺は買いだと思う。

>>178 はじめの2章読めるだけで、今買う価値があるの?
はじめ2章にどれだけ有用な情報があるのかレポートよろ。

海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用

181デフォルトの名無しさんNGNG
>>178
URL希望

182デフォルトの名無しさんNGNG
age

183デフォルトの名無しさんNGNG
>>178
URL希望


185デフォルトの名無しさんNGNG
Tapestryホームページがリニューアル
http://jakarta.apache.org/tapestry/
Tapestry3.0beta4も出たぞ

>>178
書籍紹介サイト?
in Actionシリーズか。
いろいろシリーズがでているもんだな。

187デフォルトの名無しさんNGNG
age

188デフォルトの名無しさんNGNG
Tapestryのうまい使い方載ってるサイトない?

ソースコードサンプル付きで。


すでにStrutsで開発しているときにTapestryを導入するとしたら
どう対応すればいんだろう?



カスタムタグを使って作ったJSPファイルを
また修正しないといけないとか?

>> 188
VとCを作り直す対応だけでOKですよ〜

190デフォルトの名無しさんNGNG
>>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変換ソフトも作成可能と思われる。

191デフォルトの名無しさんNGNG
>>188
ActionFormのプロパティは、ページクラスにabstractでget/set***を作成し、
ページ仕様ファイルにpropertyの名前と型を記述する

192デフォルトの名無しさんNGNG
>>190
へ〜

193デフォルトの名無しさんNGNG

>>193
ネタにしろってことですか?

195デフォルトの名無しさんNGNG
Tapestry3.0beta4ってどうやって使うの?

196デフォルトの名無しさんNGNG
>>195
おれもしりたい

197デフォルトの名無しさんNGNG
パペストリで、画面遷移とかってどういう仕組みになってるの?
いいサンプルかチュートリヤルある?

198デフォルトの名無しさんNGNG
>○Beginning Tapestry
>ttp://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt

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

なんか、タペってStrutsよりも効率よさそう。

>>198
ノシ

200198NGNG
>>199
ttp://up.isp.2ch.net/up/79de27813b6b.zip

>>200
漏れももらった。さんきう。

>200
いただきました。ありがとう

203198NGNG
和訳がおかしいところも多いと思うので、
英語にオタッシャクラブなヤツがいましたら、改修オナ貝。

204199NGNG
ダウソロードできないよー

205198NGNG
消えちゃったかな?
他にどこかよさげなウプロダある?
駄訳をちょっとだけ修正したのを再ウプしたひ

>>205
Ja-Jakarta に送りつける!


208デフォルトの名無しさんNGNG
>>198
iriaで試したら落とせました。
ありがd

落とすには Web 割れなみのテクが必要です。

あっ、家にパワポないの忘れてた。。。
誰か PDF にしてくだっさいぃ。。。

211198NGNG
ちょい修正版、再ウプしますた。PDF版込みです。
ttp://marmotfarm.com/cgi-bin/upload2/source/up31226.zip

>>211
PDF ありがd! ますます Tapestry ファンになった。
Java野郎、気に入った。

213デフォルトの名無しさんNGNG
>>211
ダウンロードできないよ


215デフォルトの名無しさんNGNG
>>214
やっぱ、できないんだけど、うちのネットワークのせい?

216デフォルトの名無しさんNGNG
>>215
うpろだから消しただけだろ。

217198NGNG
う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用でつ。。

221デフォルトの名無しさんNGNG
age

222デフォルトの名無しさんNGNG
どうも今ひとつしっくりこない、書籍その他手に入れてみたがやり方が書籍やHPによって違っている。
マー複数種類のやり方があるんだろうが・・・。


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



223デフォルトの名無しさんNGNG
Tapestry って Struts の普及率を超えそうですか?
それとも Struts とは分野が違うものでしょうか?

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ではありえないんだけど?
著者の沖林氏、この文の意味を解説もしくは修正してください。

それは「Javaでは」ってよりも、
タペ自身が動的にアクセッサメソッドを処理するための
ルールってことではないの?

>>226
リフレクション使えばありえんことは無い。
ってかリフレクションはフレームワークでは結構使われるでしょ。

で、Tapestry ではどうなのってのは知りまそん。

今日から試してみてるんだけど、
WOみたいにURLはSessionIDだけにならないのかな?

http://localhost/app?service=page/xxxx
だと、任意のページに自由にアクセスできてしまうよね?

Mevericは?

231デフォルトの名無しさんNGNG
>>229
自由にアクセスしてもらっちゃ困る全ページにvalidateかValidateListenerつけて
セッションかVisitを確認して、もし認識できなかったらログインページに
PageRedirectExceptionすればよろし。

AbstractPageをextendsしたAbstractAuthPageでも作ると楽できるっす

232229NGNG
>>231
なるほど、そういう工夫が必要なんだね。

WOを参考にしてるとはいえ、やっぱり結構違うな〜。

233デフォルトの名無しさんNGNG
>>198
最近このスレ知りました。
PDFも一回うpしてもらうことかのうでせうか。。?

>>233
漏れがパワポの駄訳&PDF変換してみたんだけど、
こんなクソ資料見るよりも、「Jakartaプロジェクト徹底攻略2」を買ったほうが
なんぼもマシ(w

235233NGNG
>>234
そうですか。「Jakartaプロジェクト徹底攻略2」は買いました。
あれだけだとなんか痒いところに手が届いてない感じがして。
今までずっとStrutsだったので乗り換え考え中です。

HTML テンプレートから Page クラスのアクセッサのコードを生成したり
できますか?

237デフォルトの名無しさんNGNG
>>236
出来ません!

ああ、キャロル=キングね。懐かしいなぁ。

You've gotta friendとか大好きだよ。

239デフォルトの名無しさんNGNG
You've gotta hivemind

JSFとどっちがすごいの?

Tapestry のほうがすごい。
これで満足か?

242デフォルトの名無しさんNGNG
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 使ってもだめなん?

246244NGNG
まさに 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へ、とか付け替えできると嬉しいなぁ。

249デフォルトの名無しさんNGNG
WEB-DBのTapestry徹底入門を読んだ。
あの例題だけでは、submitで呼び出される
メソッドの中で遷移するページを指定する方法が
わからない。

誰か教えて。

public void formSubmit( IRequestCycle cycle ) {
  cycle.activate( "hogehoge" );
}

>>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 版だけ?

Validateってどうすんのよ

>>254
ValidFieldコンポーネントなどを使う。
でも、ちょっとめんどくさいな。
エラーメッセージをロケールによって変える方法が分かんねぇ。

>255
β版についてた、User'sGuideになんか載ってた気がする……>ローカライズに関して
自宅なもんで資料みつからねぇ。すまん。

257デフォルトの名無しさんNGNG
Joey ってどうよ。定義ファイルから pageクラス、ページ仕様、
ページテンプレート、DAO 自動生成。

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

見る限りスゲーと思ったけど・・・
定型的な画面構成だったらいい楽そうだ。

>257
んーーー。
とりあえず、Tutrial印刷して読んで見るわ。
俺は、こういうの好きだけど。

259258NGNG
とりあえずチュートリアルは読んだ。
面白い取り組みだな。こういういたせりつくせりなのは日本人向けだと思う。
ただ、まぁまだ全然できてねぇじゃん?文書とか。サイトとか。
3ヵ月後を楽しみにしとくよ。

>>259
出来て間がなさそうだから、いろいろ方向転換しそうだね。
他色々ググってたんだけど、これタペと組み合わせどう?

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

Seasar って前は AP 鯖だったけど Seasar2(S2) でコンテナに
なってタペと組み合わせやすいみたい。未完成だけど。
ML になぜかタペ好きが集まってきてる。

261254NGNG
>>255
レスさんくす。
例のJakarta本2にはValidateについて
書かれてなかったから気になってた。

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

一応、どこかに書かれたHelloworldを試してみたけど
なかなか簡単に出来た。で、気になってきた。

あと S2 の作者は 2chネラーみたい。ML の中で
もまいら自由に書き込め とか。

S2のRC1でたね

264102NGNG
3.0-rc-1でてる

265258NGNG
Spindleもrc-1にあわせた内容(Ver3.041)になってるな。
updateサイトでいかんとVerUPできないが。

すまん、教えてくれ。
>249 みたいにsubmitで飛ばす時、外部にすっとばす(Yahoo!とか)場合はどうするんだろう?

267デフォルトの名無しさんNGNG
>>266
public void formSubmit(IRequestCycle cycle){
throw new RedirectException("http://www.yahoo.co.jp");
}

268デフォルトの名無しさんNGNG
すでにNECから同じコンセプトのデザインシンセサイザという製品が出ているが、特許とか大丈夫なの?

元ネタはApple (旧NeXT)なワケだが

WebObjectsが内包している、WebObjects Framework(WOF)に
触発されたって開発者自ら名言してるしね。
「テンプレ+対応ソースコード」
っていう構成はよくあるけど、
「テンプレ+対応ソースコード+オブジェクトとテンプレ内要素のマッピング」
っていうのは、柔軟で(・∀・)イイ!
でも、管理ツールが無いと、ファイルが増えてきたときに大変。

271デフォルトの名無しさんNGNG
age

272デフォルトの名無しさんNGNG
復旧おめでとう(・∀・)イイ

273 NGNG
Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」のサンプルが動かないよ・・・。
誌面の手順どおりに作成しているのに、404だ。

Tomcatのweb.xmlにも設定が必要なの?

274デフォルトの名無しさんNGNG
復旧おめでとう(・∀・)イイ

275273NGNG
ognlとjavaassistが無かったことが原因だった。
いつ、別パッケージになったの?

ていうか、Spindleの方は全部はいっとるやんけ!

保守age

3.0RC3出てるね

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

まだ枯れてない技術、か。

279 NGNG

Tapestryと相性が良いO/Rマッピングフレームワークって、Hibernate? Cayenne?

Googleでのヒット件数はTapestry+Hibernateの方が多いけど、
WebObjects 的な作りが為されているのは Cayenne らしいし。

Cayenneは、自身にDBスキーマ構造をリバースしてくる機能があるみたいだからね。
WebObjectsってよりは、EOF的ってことなんだろうかね。

282デフォルトの名無しさんNGNG
未アナウンスですが。

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

Tapestryの場合







欲しいのは最新バージョンではなくてドキュメント類
ドキュメントさえそろえばstrutsより遙かにいいのに・・・

284デフォルトの名無しさんNGNG
あと知名度&実績モナー

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


公式ドキュメントも新しいのは殆ど無くて、「ソース読め」 って感じだと
中々追いかける時間も取れないので、採用しようにも判断しようがない。

やっと触り始めたーよ。
何とか 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
のどちらかに置くという二つの方法があるらしいけど
どっちにしてます?

288デフォルトの名無しさんNGNG
shared/lib派です。(^o^)/
起動が早いよ

289デフォルトの名無しさんNGNG
というか日本語のTapestry,Spindle関係の情報って
Tapestryの最も簡単に使えて便利なRedirectFilterについて
まったく触れてないよね
web.xmlに書くだけなのになー
Spindleが標準対応するのを強く希望ですね

>>289
なんだか /hoge/app にトンじゃうあれのことね。

Google で全言語248件 / 日本語0件ってすごいな。

あと遅レスだが

>>226

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

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


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

なんでリフレクションなのにローカル変数名まで限定できるんだ? と謎だったが。

293& ◆D3ra0B2LiQ NGNG
スピソjの話題もここでよいのか?

>293
いいともー。

TapestryのWikiにも同じ間違い書いてる奴いたなw>value

spindle プラグイン入れた状態で、
配下の web.xml にTapestryのApplicationServlet を複数指定すると
×印だされるんだけど、これって Tapestry のほうの仕様なのか、
spindle のほうのバグなんか、どっちなのでせうか?

296デフォルトの名無しさんNGNG
>>295
Spindleのバグではなくて、Spindleの仕様だよ
テンプレートのチェックするためにはサーブレット1つじゃないとめんどくさいのさ

https://betterpetshop.dev.java.net/
Tapestry, Spring, Hibernateで作り直したPetShopだそうな。

298295NGNG
>>296 サンクス。

>>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テンプレートに書かなければ
いけないのでしょうか?

もうサーバサイド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を持つタグの内容

スンマソン

311デフォルトの名無しさんNGNG
StrutsやTapestryを一ヶ月の超短納期prjで採用するのが
間違ってる。。。

>>311
ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・

>>307
WebObjects とか初心者に使わせることを考えたらどうだ?
凝ったことをしなければ非常に簡単に、しかも従っていれば
基本的にきれいな方向に持っていってくれる。そんなフレームワークが
できるならがんばって作ってもいいじゃないか。

そんな WebObjects のフレームワークに一番近い感じの
Tapestry age

314301NGNG
>>309
なるほど。分かりやすい説明サンクスです。

>>311
メンバ全員が使うフレームワークを熟知してれば問題ないんでは。
見た事無いけど。

316デフォルトの名無しさんNGNG
>>315
Tapestryに限らないと思うけどフレームワーク熟知してる人間は少数で
いいのでわ?
んで、フレームワークとかわかんないけどJavaはかけるぐらいのPGに
ちゃんとした仕様書渡してビジネスロジックを実装させる(もちろん単体テストも)。
あとはフレームワークわかってる人間が組み込めと。

317301NGNG
教えてクンで申し訳ないのだけど、
HTMLテンプレートやpage specification等のファイルの配置ディレクトリを
カスタマイズするにはどうすればよいのでしょうか?

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

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

318デフォルトの名無しさんNGNG
なんでTapestryを使うの?

ってお客さんに問われたらどう答えますか?

JSP拡張で効率化できますよ〜
とでも逝っておけ

>>317
だな。
それは漏れも尻鯛w

イソアクショソ読めば、どっかに書いてありそうな希ガス。

>>318
開発工数を削減できます。とこたえます。


でも、本当にそれを実現できるには、開発メンバー全員が
Tapestryのことを或る程度まで知っていなければならない罠。

>>321
新しいものなんてだいたいそんなもんだ。
そこを乗り越えてなけりゃ未だにみんなアセンブラおんりーで50年前から進歩してないわけだし。


>>321
じゃあ削減分、値引いてね♪と言われる罠w

>>323
納期短縮をせまられたり。うぅ・・・
そうじゃない、そうじゃないんだ・・・。

新技術を使って前より少ない工数でできました(生産性向上)

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


人月の弊害だよなぁ。。。
生産性向上の利益がエンジニアに配分されない。。。
スレズレスマソ

>>307
そうなんだよ。激しく面倒。

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

>>325
それは模前が選んだ組織の問題だ・・・
Javaのサーバサイド系の技術のほとんどは生産性は上がらないんだよ・・・

定期的に湧くアンチがいるな

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

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

もちろんEJBが必要な案件もあれば必要がないものだってあるさ
そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか
いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実

小規模、短納期にJ2EEは使うなってことで

>>327
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。

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

フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク
を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方
ってのをもう一度ゼロベースから考え直してみたらどうだろうか。

もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ

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

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

んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか
そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので
Tapestryもがんばって欲しいなと

>>329
最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。
その上でいいものを探して、選択する。

ただ、通常、どのフレームワークでも、いろいろなケースに対応するために、
すごく複雑な設定まで出来るようになってる。
それを切り落として、自分が利用するケースで必要十分なところまで絞り込んで、
ここまで出来れば十分、というところまで絞り込めばいい、ということ。
本当に基本的なところだけなら、実はどのフレームワークも意外に簡単。
作るべきものも定型化しやすいものがおおい。

って、正直Tapestryが本当にいいかどうかはまだ分からないし、
Strutsにはだいぶ苦労させられた口だが。

まあ、そうは言っても、StrutsやTapestryなどのフレームワークを使わないのは損だ、
という認識に変わりはない。自分で作ろうと思うと、以外に大変な割りに、
結局どれかの既存のフレームワークに似たようなつくりになること多いし。

覚えるのが面倒だからという理由なら、ドキュメントが出るのをまってもいいし、
なんなら、コンサルでもいれなよ。一度、カタにはまった開発、ってのをやってみれば、
楽なのが分かる。面白いかどうかは別にしてね。

>>331
長いしわかりずらいよ、文章が

>>331
コンサルって奴は一般的に何をしてくれるものなんですか?
フレームワークの使い方を教えてくれるの?

>>321-325

あとは、『保守作業がえらく簡単になりますぜ旦那』くらいかな。
Strutsは、開発はJSPガリガリ君より簡単になったけど、
保守はむしろ煩雑化した記憶しかない。。。

>>334
でも「Tapestry知ってる人」をアサインするのが大変なような・・・

>>334
JavaScriptをスクリプトレットで制御するようなJSPを書かれる心配が無くなるぶん
Tapestryには導入メリットがありますね。
 
なんてな・・・

337301NGNG
317の件はやっぱり無理?

>>337
ドキュメントが少ない&
その少ないドキュメントを読みきった香具師が少ないので、

「可能か無理か判断する」のが無理な状態。

339デフォルトの名無しさんNGNG
>>333 少なくとも型にはまった開発、っていうのは見られるかな。

おまいらスピソjがRC1になりますたよ。

Redirect Filter も扱えるようになりましたよ。

341デフォルトの名無しさんNGNG
age

342デフォルトの名無しさんNGNG
>>338
同じ事悩んでるヤシがいたか。漏れもかなり探したよ。で、出来た。

WEB-INF/config/Home.page
/comp/ShowProducts.jwc
/contents/Home.html
/comp/ShowProducts.html
みたいなとき、

.applicationに、
<page name="Home" specification-path="config/Home.page"/>
とか
<component-type type="ShowProducts" specification-path="config/comp/ShowProducts.jwc"/>
みたいに書く。

.pageや.jwcには、
<context-asset name="$template" path="WEB-INF/contents/Home.html">
という風に書く。

さらに、templateのデフォルトのsearch pathも変えられるらしいが、
まだ、試してない。317やってみてくれ。
http://www.caddr.com/macho/archives/tapestry-users/2003-12/2948.html

343317NGNG
>>342
ナイス。時間ができたら試してみます。

344デフォルトの名無しさんNGNG
>>317
なんだよ、そっちかよ
標準Documentに乗ってるじゃねーか
TemplateSourceDelegateを使ってsearch pathを変更することを期待してるのかと思って
必死でサンプル作って試していたのがショック!!!(T_T)

>>344
既知のTipsだとしても、それを情報として知るのと、
自ら試してみるのとでは理解度がまったく違うと思うよ。
決して無駄骨ではないと思われ。
その心意気に、敢えてGJ!!

346342NGNG
>>344
それ、教えて欲しい。
サンプル公開きぼんぬ

>>344
オラも見てみたいズラ。

おれはどっちでもいーや

見せてもらえるものは見せてもらった方がいいわね、アータ。

350デフォルトの名無しさんNGNG
3.0リリースから、もう一ヶ月たつのに、一向に盛り上がってこないなあ。

やってるー? みんなー?

351デフォルトの名無しさんNGNG
つうかFlashMXにはまってるからもういいや

>>350
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。

ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com


所詮、ニッチなわけで

悪くないと思ったんだが、だめかなー。

Strutsより現実的でいいと思うんだがなー。

355デフォルトの名無しさんNGNG
>>352
場の空気の読めない人が2番目のTapestryのML立ち上げてんだよね
"leader19731221" <s.owada@athens-net.com>
YahooのTapestryのMLに
--------------------
FreeMLにてTapestry-Japan MLを開設しました。

以下のURLにて閲覧、投稿ができますので、是非とも参加下さい。
http://www.freeml.com/info/tapestry-japan@freeml.com
--------------------
何なのこの人?

356デフォルトの名無しさんNGNG
>>342
できたよ
決定事項
●テンプレート置き場:アプリケーションコンテキストの下の/sample/hoge/
●作成するDelegateクラス名:test.SampleTemplateSourceDelegate

手順
●1.TemplateSourceDelegateの登録
sample.applicationに
<extension name="org.apache.tapestry.template-source-delegate" class="test.SampleTemplateSourceDelegate"/>
を追加
●2.SampleTemplateSourceDelegate.javaにDefaultTemplateSourceのソースをコピー
 2.1 クラス名をDefaultTemplateSourceからSampleTemplateSourceDelegate書き換え
 2.2 インターフェースにITemplateSourceDelegateを追加
 2.3 LOGの引数を「DefaultTemplateSource.class」から「SampleTemplateSourceDelegate.class」に書き換え 2.4 以下のfindTemplateメソッドを追加
●3.テンプレートを書いておしまい
 /WEB-INF/Home.page
 /sample/hoge/Home.html

357デフォルトの名無しさんNGNG
public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
    public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
    private IResourceLocation _sampleResourceLocation;
    public ComponentTemplate findTemplate(
        IRequestCycle cycle,
        IComponent component,
        Locale locale)
    {
        IResourceLocation location=component.getSpecification().getSpecificationLocation();
        String name = location.getName();
        int dotx = name.lastIndexOf('.');
        String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
        LOG.debug("component="+templateBaseName);
        
        if (_sampleResourceLocation == null){
            IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
            _sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
        }
        
        IResourceLocation baseLocation =
            _sampleResourceLocation.getRelativeLocation(templateBaseName);
        IResourceLocation localizedLocation = baseLocation.getLocalization(locale);

        LOG.debug("location="+localizedLocation);
        if (localizedLocation == null)
            return null;
            
        return getOrParseTemplate(cycle, localizedLocation, component);
    }
-------------------------------

358デフォルトの名無しさんNGNG
public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
    public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
    private IResourceLocation _sampleResourceLocation;
    public ComponentTemplate findTemplate(
        IRequestCycle cycle,
        IComponent component,
        Locale locale)
    {
        IResourceLocation location=component.getSpecification().getSpecificationLocation();
        String name = location.getName();
        int dotx = name.lastIndexOf('.');
        String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
        LOG.debug("component="+templateBaseName);
        
        if (_sampleResourceLocation == null){
            IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
            _sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
        }
        
        IResourceLocation baseLocation =
            _sampleResourceLocation.getRelativeLocation(templateBaseName);
        IResourceLocation localizedLocation = baseLocation.getLocalization(locale);

        LOG.debug("location="+localizedLocation);
        if (localizedLocation == null)
            return null;
            
        return getOrParseTemplate(cycle, localizedLocation, component);
    }
-------------------------------

359デフォルトの名無しさんNGNG
このサンプルはコンポーネントのテンプレートにも使えるよ(^o^)v
/WEB-INF/Hoge.jwc
/sample/hoge/Hoge.html

360デフォルトの名無しさんNGNG
age

日本語ドキュメント整備されればとびつくけどな

362デフォルトの名無しさんNGNG
このスレも50毎に>>361の結論が出て、その繰り返しで1000行きそうだな。

>>354
Strutsから乗り換える教育投資に見合うメリットがあるのか?

おれは、ないと思うんだが。

乗り換えるんじゃなくて方向がまったく違う

でも結局>>361

>>363
乗り換えるなら、JSPから。

366342NGNG
>>356
おー、すげぇ。
明日にでも、さっそく試してみるよ。

しかし、こういうの書かなくてもサクサクっと設定出来ないと
普及は厳しいかなぁ、という気がしないでもないなぁ。

>>363
Strutsをメンバーの過半数が、機能をフルに使いこなせていたら、
意味は無いだろうね。

Strutsを使っているのになぜかJSPにスクリプトレットを
多用しているようなところだったら、まだ、ある。






でも結局>>361

今やってる仕事、strutsなんだけど、ご多分に漏れず、
struts-config.xmlが肥大化。
DynaActionBeanの設定とか、もういやすぎ。
例の分割管理とかそういう対策はアフォみたいだし。。。鬱。
タペットマペット使いたいYO!!

369デフォルトの名無しさんNGNG
オブジェクト指向の分散管理思想に真っ向から反するStrutsの設定ファイル。
フレームワークが滅びるには十分な理由だ。

370デフォルトの名無しさんNGNG
同じようなやり方で、ISpecificationResolverを実装する方法もあるよ
こちらの場合.page,.jwcと.htmlは同じフォルダに置ける

>>368
XDoclet使えば?
Strutsコンフィグファイルなんてほとんどさわらなくなった。

>>369
すでにXDocletのようなものもあるし、J2SE1.5からはメタデータという仕組みも組み込まれて同様のフレームワークの設定がやりやすくなるから、いまとなってはあまり問題ないね。

ListEditコンポーネント(とKistEditMapクラス)を使って、
Stale Link状態を事前に検出できるようになる仕組みが、

  Java Doc API を読んでも
  Component Reference を読んでも
  Tapestry In Action を読んでも

なぜだかサパーリわからません。
そんな俺はおhる?

374デフォルトの名無しさんNGNG
age

作者が「テスト助けてくれ〜」と悲鳴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

378デフォルトの名無しさんNGNG


>>377
企業での開発経験がない、学生だとあんなもんだろ。


わたしの現場では派遣先が開発した独自フレームワークしか流行っていない
作るのいいけどさ、もっとマシなの作ってよ
なんかソース見てると一部のクラスは「ほ〜」という感じでかなりレベル高いのに
のこりのほとんどのクラスは「ヘンなやり方〜」ってかんじ
内緒でインナークラス使って自分達のわかりやすいやり方(てか普通のJavaのやり方)に変えてます


Tapestry

383デフォルトの名無しさんNGNG
Tagestry

T

Tanasinn

tapestory

387デフォルトの名無しさんNGNG
>>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厨は気楽でいいよな

401デフォルトの名無しさんNGNG
というか単純に「Java」と聞いて
サーブレットじゃなくてアプレットを思い浮かべているだけの
厨が紛れ込んでる希ガス。

>>400
短期過ぎるから両方やらざるを得ないのでは

>>401
いや、DW使いのやつらは、JavaScriptをJavaと呼ぶケースがほとんど。
"Java"が実際どのようなものか、まったく理解してないケースも多い。

デザインが必要か必要じゃないかに、短期か短期じゃないかなんて関係ないのにね。

> Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ?
> そんなところにそもそもJavaが絡む余地ないだろ。
デザインが重要なWebサイトにどうしてJavaが絡む余地がないと思えるのか
不思議で仕方がない。
デザインが重要かどうかとJavaを使うか使わないかの関連性が全く見えない。

デザインが必要か必要じゃないかと、短期か短期じゃないかと、Javaを使うか使わないかなんて関係ないのにね。

こことかは、結構凝ったデザインになってるし。
ttp://www.junkudo.co.jp/

タペのスレですよー。

話題はJavaの話になってるし。

とりあえず、デザイン要素が生じる動的サイト制作には、
生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

JDOはウンコ。

417412NGNG
>>413
WYSIWYGプレビューってのが不要ならあんまりメリットないのかな。
GUIで開発できるってのなら別だろうけど。

>>414
だからタペでもJSFやJSTLは取り入れる方向に行くのかなと思ってね。
JSFはまだこれからだけど、JSTLはタペでは使えません。これから先もってのならちょっとね。

418デフォルトの名無しさんNGNG
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の方が先に製品版出したしな。


そして忘れられてるタペ

もともと存在を認識されていなタペ

427デフォルトの名無しさんNGNG
ところで、barracudaと比較したヤシはおらんのか?


しばらく意味がわからんかった。
写真集について語るか。

Tapestry in Actionの一部がPDFで公開されているね。

ttp://today.java.net/today/2004/05/13/Tapestry.pdf

>>430
2章と5章でしょ。
マニング社のサイトでも公開されてるよ

432デフォルトの名無しさんNGNG
age

433デフォルトの名無しさんNGNG
agege

434デフォルトの名無しさんNGNG
すみません、SPRING板でも同じ質問をさせていただいたのですが、
どなたか、SUN APP サーバー8とWEBWORKを上手に
使う方法御存じないでしょうか。GRANTの設定を少々変更することは
マニュアルにありますが、
私、APPサーバー付属のDEPLOYTOOLをANTの替りにしたいのです。
CMPーEJBとWEBWORKで開発が上手にできたらと、考えております。

御存じの方がいらっしゃいましたら、どうぞよろしくおねがいします。 かしこ。

いつの間にSprint板ができたんだろう・・・

(ノ∀`)アチャー

こんなマイナーな技術で板ができるなら、Strutsなんて、ひとつのカテゴリですよ、と。

438デフォルトの名無しさんNGNG
age

439デフォルトの名無しさんNGNG
Spindle 3.0 Final ってのがリリースされてるぽいんだけど。


興味ない?

スピンドルってなんだっけ?

CD重ねるやつ?

>>440
マジレスしていいのやら....
Eclipse 用の Tapestry プラグイン。
http://spindle.sourceforge.net/

>>442
Sunクス

444デフォルトの名無しさんNGNG
age

445デフォルトの名無しさんNGNG
>>377
ダウンロードできねえぞ。
消えやがった。きになってしまうじゃねえか

>>445
PGが楽できないフレームワークは流行らない、らしい。

447デフォルトの名無しさんNGNG
PGはフレームワークの選定なんてやらないが・・・。
そういう意味ではなくて?

まあそこはそれ、学生さんの言うことだから・・

449デフォルトの名無しさんNGNG
やっぱり、いまいちこないのかなあ・・・。

そもそも、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をビルドするのに手間どったりと、なかなか楽しませていただきました。


・・・・・・つーか、俺がヘタレなだけか。_| ̄|○

453デフォルトの名無しさんNGNG
>>452
わかるとどうってことないよ(^_^;
1.静的な画像ファイルはコンテキストの直下の好きなフォルダに置く
2.*.applicationはWEB-INFに置く
3.*.page,*.htmlはWEB-INFに置く、もしくはWEB-INFの下のサーブレット名のフォルダに置く
4.*.jwc,*.htmlは*.pageと同じ場所に置く
これだけよ♪この情報を信じなさい♪

やっぱり問題はドキュメントの量だけだな
とくに日本語となるとまるでなし

455452NGNG
実験してみた。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)はそのへんのサンプルと、
まったく統一とれてないんでもう大変。

456デフォルトの名無しさんNGNG
最近Tapestry-ML活発だね
http://groups.yahoo.co.jp/group/tapestry-japan/

457デフォルトの名無しさんNGNG
TapestryはちゃんとXSLTに対応しているのかな?

デザイナはCSSだけ使ってりゃええって最近思えるようになってきた。
HTML直打ちだけで済むって、そうは行かないケースも有るんだが。
デザイナはXSLTの事も考慮すべき。

458デフォルトの名無しさんNGNG
>>452,>>453,>>455
strutsが集中型設定ファイル地獄なのに対して
Tapestryは分散型設定ファイル地獄ってところか。

459デフォルトの名無しさんNGNG
同じ地獄なら分散の方がいいと考えて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以外になんかないのー。

Strutsは、金出せば出すだけ便利になるね。

463デフォルトの名無しさんNGNG
mavenって何に使うの?

>>463
オープンソースのプロジェクト管理。
スケジュール管理がないのはオープンソースだからw

>>459
1.1からはstruts-cocnfig.xmlの子供xmlを幾らでも作れる。


ども肝心要のサーバ運用管理者に
その事を知らない人が多い罠。

466デフォルトの名無しさんNGNG
age

Struts等をやっていて、
手続きを記述した居場所でXMLを利用することが馬鹿げていることだと
感じるようニナリマシタ…

Pure Servlet/JSP
マンセー

まあ、狼人間を撃つ銀の弾はないってことだ・・・

まあ、日本にはハリウッドは無いってことだ・・・

471デフォルトの名無しさんNGNG
age

>>470
こいつは>>469の意味がわかってないってことだ。

ごめん。俺も意味わかんない。教えて。

そもそも狼人間などこの世にいないからな。都市伝説だ。
 
 
 
 
つまりデスマも都市伝説ってわけだ。

475デフォルトの名無しさんNGNG
>>474
いや、狼に育てられた、狼人間はいた。

>>473
「人月の神話」っていう本の副題だよ。
まあ、もう結構昔の本だけど、機会があれば読んでみな。

>>474
デスマは心の中にあります。

おまいら現実を見ようぜw
まぁいくら良い?道具を使ったところで、万能じゃないってことだな。

479デフォルトの名無しさんNGNG
age

>>475
アフリカでオオカミに育てられ人間に拾われ人間の生活に戻そうとしたが
10歳で死んでしまった少女アヴェロン野生児か

481デフォルトの名無しさんNGNG
Strutsスレを復活させた

△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/

482デフォルトの名無しさんNGNG
age

ネタがないってことだな。

関連プログラムのネタならあるぞ。

HiveMind 1.0-βリリースとか、
O-R Mappingフレームワークスレでの、祭りの後のCayenneの静けさとか…。

>>484
燃料がなくなったからね。

>>485
また再燃してきてるぞw

>>486
燃えカスみたいなもんだね。

こっちにもおいで。

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使えネっていう結論になってそうだぞ。

496デフォルトの名無しさんNGNG
age

497デフォルトの名無しさんNGNG
age

498デフォルトの名無しさんNGNG
エイジ

あじぇ

500デフォルトの名無しさんNGNG
age

@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



502501NGNG
>>501
すいません自己解決しました.
基本的にこんなこと気にしなくて良かったんだな.

しかしいつも選択されたかどうかを示すフラグが必要になる・・・?


そりはHTMLの仕様の問題であ?

504デフォルトの名無しさんNGNG
age

505デフォルトの名無しさんNGNG
sage

なんか詳しい資料少ないよねぇ・・・・

一行ごとに色を切り替えて縞々模様に
なるテーブル作りたいんだけど
どうやって書けば良いんでしょ・・・・

507デフォルトの名無しさんNGNG
>>506
ttp://www.sandcastsoftware.com/articlesandtutorials/brownbag/index.html#tapestry
英語だけど、ここのPDF落としてみてごらん。
一行ごとに色換えしてるサンプルのチュートリアルを含むみたい。
もちろん、ソースもダウソできるぞ。

508デフォルトの名無しさんNGNG
age

509デフォルトの名無しさんNGNG
Tapestryのおもしろい話題ないかね〜?

510506NGNG
>>507
ありがとう
亀レスになってしまった

英語苦手ながら一通り呼んでみたのだけど,
縞々のリストは最初のサンプルに提示してる画面だけで,
その後チュートリアルとして実際作り出したら背景色なんて
気にしてないみたい…多分.
漏れの英語力が著しく欠如してるのかもしれないけども

とりあえずその問題は参照するたびにTrue/Falseが切り替わる
プロパティで何とかすることにしたよ…なんか納得いかないけど….


で,新しい疑問がでてきてしまったんですが
HTMLのプロパティに可変値を設定したいときはどうすれば良いのだろう

可変長リストの左側に柱をつけたいときとか
<td rowspan="xx">
とかやるよね.xxを件数に応じて帰る必要があるんだけども
どうやって指定すれば良いのか・・・.
OGNLかとおもったけど違うみたいだし

511506NGNG
>>510
ああ,Anyだったか・・・・?

すいません,上記のrowspanの話は自己解決しました.(良いやり方なのかどうか知らんが)

ちなみに *.pageに以下を定義(hogeCollectionは適当なコレクション.sizeは長さ)

<component id="verticalLine" type="Any">
<binding name="rowspan" expression="hogeCollection.size"/>
</component>

*.htmlのほうで
<td jwcid="verticalLine" >

としました.

お騒がせしました.

512デフォルトの名無しさんNGNG
さて、HiveMindがRCになったわけだが。

>>512
何それ?

なんか組み立てロボット。
ラジコンになった。

>>514
ああ、ロボコンか。

>>515
そう。
このスレは、それについて語るスレ。
板違い。

517デフォルトの名無しさんNGNG
age

518デフォルトの名無しさんNGNG
あげ

519デフォルトの名無しさんNGNG
age

Tabesptryって消えそうですね。少なくとも日本じゃ流行らなそう・・。

流行ってなくてもおれは使う!!
何故なら楽だし楽しいから。


523デフォルトの名無しさんNGNG
JavaScriptをTapastryScriptで記述するのって手間じゃないですか?
JavaScriptで画面遷移の制御している画面では書き換えが面倒な気がします。

ちなみに、TapestryScriptを使用するとHTML画面でのJavaScriptチェックはできなくなりますよね?

これからはYSFですよ。

525デフォルトの名無しさんNGNG
>>524
YSFとS2JSFが一緒になるらしい。

9/9の日記参照
http://d.hatena.ne.jp/higayasuo/


どっちでもいいが、使いやすくしてくれ。

526デフォルトの名無しさんNGNG
FRAMESETの使い方教えてください。

527デフォルトの名無しさんNGNG
age

528デフォルトの名無しさんNGNG
TapestryアプリケーションでURLを一般的な***.html風にする一番きれいな方法は
どうすればいいでしょうか?
1.PageLinkを使わず、自作のFilterで***.htmlがきたら/app?service=page/***にフォワードする
  欠点:ステートフルやセッションを使うのが一苦労
2.AbstractEngine#extractServiceName,EngineServiceLink#constructURLなどを書き換える
3.BaseEngine,AbstractService,EngineServiceLinkを継承してextractServiceName,constructURLをオーバーライトする
4.他の方法あったら教えて

真っ黒メディアFLEXは?

530デフォルトの名無しさんNGNG
>528
3.1で対応する、とMLにあった。

>>529
Flex 面白そうだよね。JSP ライクなタグってのが気になるが...
トライアル版登録して試してみようかな。

flexって157万か・・・

>>528
アドレスバーを偽装する。

>>532
真っ黒メディアだ・・・

535デフォルトの名無しさんNGNG
age

536デフォルトの名無しさんNGNG
age

537デフォルトの名無しさんNGNG
Tapestryのコンポーネントをパレット表示するEclipseプラグイン
http://www.behindthesite.com/blog/C1931765677/E1305840788/index.html

>>537
ぬぬ!これは激しく便利なヨカン!

539デフォルトの名無しさんNGNG
Tapestry3.0.1が近いね

Tapestry3.1 and HiveMind1.0キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!

541デフォルトの名無しさんNGNG
>>540
Tapestry3.1はまだだろ!どこの情報だ???

542デフォルトの名無しさんNGNG
age

543デフォルトの名無しさんNGNG
age

544デフォルトの名無しさんNGNG
age

545デフォルトの名無しさんNGNG
age

546デフォルトの名無しさんNGNG
Tapestry3.0.1出たよ

547デフォルトの名無しさんNGNG
age

548デフォルトの名無しさんNGNG
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 で使いたい" の
書き損じでしょうか...?

550548NGNG
>>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 にするとかの方が好みですが)

552デフォルトの名無しさんNGNG
タペストリーでhttpsで接続するにはどうしたらよいでしょうか?
例えばcycle.activate( pageA );としてpagaAを表示する際にhttpsで接続するにはです。

やっぱりweb.xmlに記述するんですかねー? その場合の記述方法は?

553デフォルトの名無しさんNGNG
RedirectExceptionでhttpsなURLにリダイレクトするというのは駄目?

554デフォルトの名無しさんNGNG
TiA本を読み終わっての、Tapestryのいい所といまいちな
感じの所をつらつらと。

いい所:
デザイン完全分離、コンポーネント、ドメインロジックとの
容易なグルーイング、アセット管理、イベントベース処理、OGNL

いまいち?:
直感的でないフォームのwinding/rewinding、認証サポート、
クライアントサイドスクリプトのサポート

どっちとも言えず:
バリデーション

かなりというか Struts みたいな原始的なのと比べるのが
馬鹿らしいほど高水準な割に、見通しも悪くなくて結構好みな感じ。
コンポーネントも結構簡単に作れるから、自前コンポーネント
ライブラリの整備も結構急ピッチにできそう。



555デフォルトの名無しさんNGNG
学習中です。jwc を作ってみたりしています。
BaseComponent を extend したコンポーネントクラスで、
与えられた parameter を元に、かくかくしかじかの前処理を行ってから
コンポーネントの表示を行いたい場合、
renderComponent をオーバーライドして、かくかくしかじかを行ってから
super.renderComponent を呼べばOKでしょうか。

Tapestryって、なんでいいものなのに広まらなかったんだろうね。


日本語の資料ってないの?
JavaWorldの去年の特集くらい?

びっくりするくらいにない

タペ専門書ってないの?
「Jakartaナントカ」とか「オープンソースナントカ」みたいな本の1コーナーでしかないのかな。

Tapestry in Action の和訳版が出れば嬉しいんだけどねー。

inActionが訳されないようなモノは、専門書も出ないってことだな。

563デフォルトの名無しさんNGNG
セッションタイムアウト時の
Your session has timed out.
Web applications store information about what you are doing on the server. ....
という画面を別の画面に差し替えたいのだが
どうすればよいのだろう。

564デフォルトの名無しさんNGNG
.page や .html を、.application と同じディレクトリにずらずら並べないで、
アプリケーションの機能ごとにディレクトリを作ってその下に置いた場合、

.application で
<page name="Pagename" specification-path="/path/to/Pagefile.page"/>
を沢山書かなくてはダメですか?
<a jwcid="@PageLink" page="/path/to/Pagefile.page">aaa</a>
って書きたい…。

565デフォルトの名無しさんNGNG
>>564
そのとおりなので、Tapestry は欠陥品。
ちなみに
requestCycle.activate("path/to/Pagefile");
となら書ける。謎。

566デフォルトの名無しさんNGNG
ハローTapestry Fun!
TapestryのPageLinkクラスを修正して、
<a href="Hoge.html" jwcid="@PageLink">gotohoge</a>

<a href="app?service=page/Hoge">
と出力するのは簡単ですよ

>>566
じゃあそういうクラスと jwc 書いて公開して。
ついでに >>564 を解決する jwc も公開して。

568566NGNG
>>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>と出力させるようにしてるっす

>>106
Aceはどこ行った?

PageLink を書き換えるんじゃなくて、継承とオーバーライドで別のクラスにしないのはなぜ?
あと >>564 は、PageLink 以外にも Page を参照する Component がありそうだから面倒だなぁ、
と思いました(例えば Frame。ほかにあるかは知らない)

571デフォルトの名無しさんNGNG
>>570
なんでってできあがってるHTML内の大量のリンクタグの
jwcidを書き換えるのめんどくさいからでしょ?
それからプログラマーにいちいち別途技術資料作成して、
@PageLinkより@HogeLinkの方が機能が上だから使いましょうねと
教育する時間がもったいない。
完全上位互換ですから。
後付け機能ですから、ギリ!!!

572デフォルトの名無しさんNGNG
>>570
基本コンポーネントとかぶる同じ名前のコンポーネントを.application内に記述ってできるのかな?
できるのならクラスとjwcを別にして、「PageLink」コンポーネントを再定義するって方法もあるね

573デフォルトの名無しさんNGNG
age

ぶっちゃけ、Tapestry使ってる人って何人ぐらいのチームでやってるの?

575デフォルトの名無しさんNGNG
>>574
マネージャ1人、プログラマー5人、デザイナーは外部なのでわからずです。

Tapestry in Actionを読み進めているが、
一人でTapeるのは無謀か…

ひとりならいいんじゃない?

>>576
オラ、1人で Tapestry + Cayenne なプロジェクト切り盛りしてるよ。
ってか絶対的なコーディング量を考えると、素の JSP + Servlet で
1人なのより楽でない? (最初の学習コストはちょっとあるけどさ)

せめてStruts+Hibernate+Springぐらいと比べてくれ。

比較の対象はPHPかもしれん

Groovystryはもう使い物になるの?

582デフォルトの名無しさんNGNG
age

頑張ってるのはわかるけど、まだ冗長な感じがするなあ。

584デフォルトの名無しさんNGNG
age

585ageNGNG
コンポーネントの in-out なプロパティの大半は String とかプリミティブな型わけで、
getHost して setHoge されますね。(そうせざるを得ないわけですが)

MultiplePropertySelection の selectedList プロパティは、
型が List で Direction が in-out なんだけど、getHogeList で List を取って、
そのリストを書き換えてしまう。setHogeList が呼ばれない。
確かにその方が効率的。

で、これに気がつかなかったわけで、しばらく嵌ってしまった、という話でした。

586デフォルトの名無しさんNGNG
age

587デフォルトの名無しさんNGNG
age


589デフォルトの名無しさんNGNG
age

どうでもいい事なんだけど、Tapestry in action
で作者が使っているHTMLエディタ、同じの使ってみたいと思って
調べてみたら、MacroMediaのHomeSite(しかも4.0)ですね。
もう販売中止で売ってないじゃん。。。

591デフォルトの名無しさんNGNG
age

>>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であってほしいですね。
そうすると少しは普及速度があがるかな。。
っていうかその前にドキュメントの充実が先って気がするけど。

いまさら普及しないだろ。

599タペつかっているよNGNG
ページを見ていたら偶然このサイトもtapestryを使っているのを発見
結構よくできていた。http://www.it-evangelist.com/MeetEntre/



601デフォルトの名無しさん05/01/20 21:07:04
HiveMind-1.1 alpha が出たわけだが

> 601
HiveMindって、なんかTapestryと関係あんの?

サクヤが同じ

604デフォルトの名無しさん05/01/23 00:56:31
age

>>602
Tapestry3.1 からは、HiveMind と統合とか、
内部処理に HiveMind の DI を利用するとか
そんな噂あり

606デフォルトの名無しさん05/01/23 20:43:42
(Tapestryではなく)Cayenne のサンプルの中に、Blogサンプルがあったよ

>> 603,605
なるほど。
そういえば、TapestryのWikiかなにかに3.1からDI機能が入るとか書いてあった気がする。
Springを勉強しないで良くなる代わりに、HiveMindを勉強する必要があるのかな。。

608デフォルトの名無しさん05/01/30 17:37:44

Tapestry使ったコンテストがあるんだね。
誰か参加してるヤシいる?

賞金100万円いいよな。

http://www.dena.ne.jp/other/index.html

> 609
URL見たけど、どのあたりがTapestryに関係しているの?

611デフォルトの名無しさん05/02/16 21:59:17
Tapestry 3.0.2 Released

新たな中途リアル
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 は普及しないな。

わかりやすい日本語で語らないから日本で普及しないんだよ。

わかりにくい英語で流行ってるやつってあるのかな?

623デフォルトの名無しさん05/03/04 04:26:57
age

624デフォルトの名無しさん2005/03/22(火) 22:50:12
>>617
遅レスだが、NHL公式サイトはTapestry制だったらすぃ

625デフォルトの名無しさん2005/03/28(月) 12:38:40
age

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に更新されたって事です)

627デフォルトの名無しさん2005/04/16(土) 23:51:40
ageますよ。

ttp://howardlewisship.com/blog/

次期Tapestry(Picasso)は、Ver 4.0になるそうな。

628デフォルトの名無しさん2005/04/17(日) 00:12:49

629デフォルトの名無しさん2005/04/24(日) 13:31:17
age

630デフォルトの名無しさん2005/05/11(水) 22:56:16
4.0αage

631デフォルトの名無しさん2005/05/11(水) 23:00:09
http://y130200.ppp.dion.ne.jp/
www
ww
うはっwwww
っうぇwwwwwwおkwww
おkwwwっうぇwっうぇうぇwwwうはっwww
うぇwwwうぇwwwっwwwwwwwwwwww

632デフォルトの名無しさん2005/05/13(金) 17:44:07
TapestryでFrameってどうやって使うの?

633デフォルトの名無しさん2005/05/16(月) 22:23:54
ビジュアルエディターってあるの?

634デフォルトの名無しさん2005/05/22(日) 13:13:37
>>633
Tapestryの良いところは、普通のHTMLエディタでTapestry用のVIEWを
作成できる事なんで、お好きなエディタを使えばいいんじゃないでしょうか。

それともObjectとのマッピングまでGUIで作成できるように
したいって事?(Spindleの機能じゃ足りない?)

635デフォルトの名無しさん2005/05/22(日) 13:16:17
連投でごめん。最近の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は間近かな。

636デフォルトの名無しさん2005/05/23(月) 10:27:43
Tapestry Palette
ttp://tapestrypalette.sourceforge.net/

637デフォルトの名無しさん2005/06/17(金) 22:53:50
Tapestryは1つのjwcidに対して複数のコンポーネントを適用できますか?

6386372005/06/17(金) 23:58:58
>>637
これだけでは何なので。
自分で調べた限りではできないみたいで、ひとつのタグに複数のコンポーネントを適用しようとしたら、
どうしてもダミーのspanタグが必要みたいでした。
なにか裏技でもあれば教えてください。

639デフォルトの名無しさん2005/06/26(日) 02:40:31
4.0 Beta1記念 age

ttp://howardlewisship.com/blog/2005/06/tapestry-40-beta-1.html
http://jakarta.apache.org/site/downloads/downloads_tapestry.cgi

640デフォルトの名無しさん2005/06/26(日) 12:29:44
日本語資料のまとめキボン

641デフォルトの名無しさん2005/06/26(日) 12:42:27
>>361
たしかに普及したライブラリはすべて日本語の資料がどこかにはあるからなぁ

642デフォルトの名無しさん2005/06/26(日) 16:38:00
>>640
んじゃ、とりあえずML。

tapestry-japan 
http://groups.yahoo.co.jp/group/tapestry-japan/

Tapestry Japan ML
http://www.freeml.com/info/tapestry-japan@freeml.com

どっちも閑古鳥だがな。

643デフォルトの名無しさん2005/07/16(土) 16:04:13
4.0 Beta 2

644デフォルトの名無しさん2005/07/26(火) 12:05:16
4.0 Beta 3

645デフォルトの名無しさん2005/08/26(金) 01:52:38
Tapestry 4.0-beta-4の報告もないってことは、tapestryはこれにて終了ってことで。

646初期不良2005/08/26(金) 15:04:53
けど、Spring フレームワークの開発者はこれから注目すべき
フレームワークの中に Struts2 と並べて Tapestry を挙げていた。
盛り上がってないのはもしかして日本だけ?

647デフォルトの名無しさん2005/08/26(金) 15:18:39
原因は>>361

648デフォルトの名無しさん2005/08/29(月) 22:14:25
http://jakarta.apache.org/site/news/news-2005-q3.html

ちゃんとTapestry 4.0-beta-4(とHiveMind 1.1-beta-3)について書いてあるがな(´・ω・`)

649デフォルトの名無しさん2005/08/29(月) 23:07:08
>>648
いや、>>643でBeta2の報告、>>644でBeta3の報告の書き込みがあって、なんでBeta4の書き込みがなかったのかと。
で、4.0Beta5がリリースされた訳だが。
誰かリリースノートとか日本語に訳してくれないかな……。

650デフォルトの名無しさん2005/08/30(火) 00:16:40
そしてついでにドキュメントを

651デフォルトの名無しさん2005/09/02(金) 20:04:20
>>649
意訳するとだな

「おまいら正式版マダーとか言い杉。バグつぶしは小さいのしか残ってないが
 ドキュメントが追いつかねぇんだよゴルァ。9月中には出してやるからモチツケ。」

って感じですわ。

652デフォルトの名無しさん2005/09/08(木) 23:35:04
Tapestry 4.0-beta-6 released

653デフォルトの名無しさん2005/09/20(火) 04:31:56
Tapestry 4.0-beta-7 released

654デフォルトの名無しさん2005/09/20(火) 15:12:27
betaの使用感とかはだれも書かないのね。

655デフォルトの名無しさん2005/09/20(火) 19:40:27
>>654
言い出しっぺ乙

656デフォルトの名無しさん2005/09/21(水) 05:33:07
つかってないも〜ん

657デフォルトの名無しさん2005/09/21(水) 19:49:56
♪首から下は〜 Howard Lewis Ship

658デフォルトの名無しさん2005/09/25(日) 10:18:46
4.0-beta でアプリを開発し始めた者です。
3.0のころに比べると、ページをサブディレクトリで管理できたり、
生成されるURLがシンプルになったりいい感じです。
50画面くらい作りこみましたが、とりあえず実用上の問題はなさそうです。

あと、4.0に限らないけど、
htmlテンプレートをキャッシュしないようにして開発すると
動作がもっさりもっさりして厳しいですな。
ページの作りこみはトライアンドエラーの作業が多いから
これは開発効率にダイレクトに響きます。

659デフォルトの名無しさん2005/09/25(日) 11:50:02
ttp://www.agileskills2.org/EWDT/
Tapestry 4初の解説本。1-4章が無料でダウンロード可

660デフォルトの名無しさん2005/09/25(日) 17:15:18

661デフォルトの名無しさん2005/09/26(月) 06:39:30
5人で開発するとして、2人くらいは英語のドキュメント読めても残りの3人は日本語じゃないと読まないんだよね。
しかも、英語が読めるやつは手探りでだいたいの使い方をわかったりするからドキュメント自体があまり必要なかったり。
日本語しか読めない開発者ほどドキュメントを必要とするんだよね。

662デフォルトの名無しさん2005/09/26(月) 07:46:53
Tapestry 1.1-beta-8 Released

663デフォルトの名無しさん2005/09/26(月) 12:31:03
概要でも日本語化されていれば日本語しか分からなくても
ソースコード見て納得できるけど
なにもわからず手探り状態だと厳しい

それに英語読めるといっても日本語と違って斜め読みまでできるやつはそう多くない
膨大なドキュメントから特定の場所を探すのはむずかしい

664デフォルトの名無しさん2005/09/26(月) 23:45:24
いつまでベータ版なんじゃ、ゴルァー

665デフォルトの名無しさん2005/09/27(火) 00:20:58
4.0正式リリースは年末くらいじゃない?
このあとまだRCシリーズが出るはずだし。

666デフォルトの名無しさん2005/10/03(月) 01:14:51
Tapestry 1.1-beta-9 Released

667デフォルトの名無しさん2005/10/03(月) 02:01:24
>>662 >>666
Tapestry 1.1ってなんじゃぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ

668デフォルトの名無しさん2005/10/03(月) 02:23:47
だって Jakarta のトップページが。

669デフォルトの名無しさん2005/10/04(火) 21:11:31
きっともうHoward Lewis ShipもHiveMindのことでいっぱいいっぱいなんだよ

670デフォルトの名無しさん2005/10/10(月) 01:14:44
Tapestry 4.0-beta-10 Released

671デフォルトの名無しさん2005/10/10(月) 17:08:31
なんかTapestry4.0のドキュメントを翻訳をしてる人がいるみたいだね。
でも最終更新は2005/06/23か。
非公式ユーザーリファレンスもWikiも更新止まってるみたいだし、こちらにも期待したいところなんだが……。

ttp://www.javable.jp/notes/tapestry.html

672デフォルトの名無しさん2005/10/18(火) 07:49:57
Tapestry 4.0-beta-11 released

673デフォルトの名無しさん2005/10/28(金) 17:05:13
FaceletsがあればTapestry要らなくなる?


674デフォルトの名無しさん2005/10/28(金) 17:23:46
Faceletsの開発者による紹介記事の日本語訳
ttp://homepage1.nifty.com/algafield/facelet-ja1.html

675デフォルトの名無しさん2005/10/28(金) 20:08:52
つか、S2JSFが滅亡

676デフォルトの名無しさん2005/10/29(土) 01:59:44
で、ぶっちゃけ戦闘力の方はどうなのよ。
コンポーネント開発ってIDEの能力が大きいからなぁ

677デフォルトの名無しさん2005/10/29(土) 12:33:48
ぶっちゃけたぺも日本語資料が大量に出ていたらそれなりに普及はしてたはず

678デフォルトの名無しさん2005/10/30(日) 04:44:21
タペって企業がバックにいたりしないの?
Strutsって結局Sunがバックにいたからあんなヒドい作りなのに広まったんだよね。

679デフォルトの名無しさん2005/10/30(日) 12:53:40
Strutsとsunは関係ねーべ

680デフォルトの名無しさん2005/10/30(日) 14:28:34
開発者はSunの社員

681デフォルトの名無しさん2005/10/30(日) 15:54:39
社員であることとバックアップとは関係ねーべ
JSFならSunと関係があるが

682デフォルトの名無しさん2005/10/30(日) 17:02:35
結果を見ると、関係があったといえるんじゃないかと。
JSFみたいに組織的なバックアップはしてないけど、バックにサンがいることは大きいかったと思う。

683デフォルトの名無しさん2005/10/30(日) 17:11:03
IBMとNTTじゃなかったっけ?Strutsをバックアップしてたの

684デフォルトの名無しさん2005/10/30(日) 20:33:32
Tapestryって、そういう噂レベルでもいいから企業が後押ししてるっていうのないの?

685デフォルトの名無しさん2005/11/06(日) 03:19:15
Tapestry 4.0-beta-12 released

686デフォルトの名無しさん2005/11/13(日) 02:39:15
作者BLOGに、OGNLを使わないように変更すると10倍速くなるってのが載ってる。
まあベンチマークなんで、本番環境の数字とは違うんだろうけど。

687デフォルトの名無しさん2005/11/14(月) 13:00:15
Tapestry 4.0-beta-13 released

688デフォルトの名無しさん2005/11/28(月) 20:21:21
ApacheConからハブられた件

689デフォルトの名無しさん2005/11/30(水) 20:39:10
Tapestry 4.0-beta-14 released

690デフォルトの名無しさん2005/12/01(木) 05:45:37
ってか、WebWorksもStrutsに参加して、HTMLテンプレートとしてWicketが流行ってて、標準フレームワークはJSF+EJB3で、Tapeってどういう位置付けになるの?

691デフォルトの名無しさん2005/12/02(金) 19:36:34
質問なんですけど、
Tapestryの開発って、.htmlを変更したのを反映させる方法って、
Tomcat(コンテナ)を再起動するしかないんですかね?
server.xmlのreloadable設定も効かないみたいだし…。

692デフォルトの名無しさん2005/12/02(金) 23:32:36
>>691
-Dorg.apache.tapestry.enable-reset-service=true

693デフォルトの名無しさん2005/12/03(土) 10:28:54
>>692
サンクス。
これでInspectorButtonを使うのですね。

694デフォルトの名無しさん2005/12/06(火) 11:01:30
ちょっと前だけどJSFとTapestryの比較記事があった。

ttp://www.theserverside.com/articles/article.tss?l=JSFTapestry

695デフォルトの名無しさん2005/12/09(金) 21:09:38
Tapestry 4.0-rc-1 released
やっとこさRCキタ

696デフォルトの名無しさん2005/12/21(水) 01:53:24
Tapestry 4.0-rc-2 released

697デフォルトの名無しさん2005/12/30(金) 04:15:45
Tapestry 4.0-rc-3 released

698 【大吉】 2006/01/01(日) 01:40:59
↑Tapestry 4.0 の命運

699デフォルトの名無しさん2006/01/01(日) 22:35:59
> 698 : 【大吉】 :2006/01/01(日) 01:40:59
ばっちりだな

700ハーピィ2006/01/02(月) 02:25:15
E・∇・ヨノシ <700ゲット♫

701デフォルトの名無しさん2006/01/05(木) 23:01:51
DirectLinkだけで間に合うと思うのですが、
ActionLinkを使った方がいいケースってありますか?

702デフォルトの名無しさん2006/01/08(日) 12:27:22
Tapestry 4.0 Released

703デフォルトの名無しさん2006/01/08(日) 12:58:12
>>702
やっときたか

704デフォルトの名無しさん2006/01/08(日) 23:20:44
>>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

705デフォルトの名無しさん2006/01/11(水) 07:56:01
リリースされたら話題が途切れるって、
誰も使ってないんじゃ……

706デフォルトの名無しさん2006/01/11(水) 21:11:26
ヒント:年始休暇明けでテライソガシス

707デフォルトの名無しさん2006/01/11(水) 21:19:15
ヒント:Tapestry使いはいつもイソガシス

708デフォルトの名無しさん2006/01/11(水) 21:35:03
使ってるよ。

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の話じゃないね。

709デフォルトの名無しさん2006/02/24(金) 20:25:51
http://pcweb.mycom.co.jp/news/2006/02/23/365.html

デザイナとのやり取りを考えればStrutsやJSFなんて目じゃないのに
日本語資料がないだけに流行らんね

結局>>361

710デフォルトの名無しさん2006/02/24(金) 22:16:33
TapestryってTomcat無くても動くの?

711デフォルトの名無しさん2006/02/24(金) 23:14:05
Resinとかで。

712デフォルトの名無しさん2006/04/02(日) 22:18:13
Tapestry 4.0.1 released

713デフォルトの名無しさん2006/04/14(金) 10:40:38
OGNL自体の解説サイトってないですかね?

714デフォルトの名無しさん2006/04/14(金) 11:10:48
http://www.ognl.org/ じゃダメですか?

715デフォルトの名無しさん2006/04/14(金) 11:22:19
ありがとう。
具体的なサンプルコードが見たいんだけど、
探してもあまり無いんだよね。。。
とりあえずこれまで探した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の具体的な使い方とか、そういう情報を探してます。

716デフォルトの名無しさん2006/04/23(日) 21:57:35
相棒のCayyeneはどうなってますか?

717デフォルトの名無しさん2006/06/03(土) 18:15:10
TapestryってStrutsと統合して使用できるの?
ActionとかActionFormは使うけど、ビューはHTMLのまま(JSP使わない)というような感じに。

718デフォルトの名無しさん2006/06/03(土) 22:36:18
>>717
無理です。Tapestryの構造は、プレゼンテーション層だけを切り離して使うことはできません。
Strutsと統合したいならSeasarプロダクツをお使いください。

719デフォルトの名無しさん2006/06/04(日) 00:20:27
S2Containerを介して両者を連携させるなんて余計ややこしいことになりそうなので現実的ではないな。

720デフォルトの名無しさん2006/06/04(日) 09:44:18
>>719
Mayaaなら、S2Containerとは関係なく使えるよ。

721デフォルトの名無しさん2006/06/04(日) 10:17:09
S2信者うぜえな

722デフォルトの名無しさん2006/06/04(日) 10:28:42
Mayaaは実装上S2とは関係ないからS2非信者でもおっけ。
ホームページも独立してるしね。

723デフォルトの名無しさん2006/06/06(火) 09:44:44
>>717

strutsのコントローラーを使いたい、だけどJSPは嫌だ。

君の言う趣旨がそーゆーことなら、Freemarke、あるいは
velocityをviewに採用するというのが一番素直な方法だと
思う。

スレ違いスマソ

724デフォルトの名無しさん2006/06/26(月) 06:57:34
21 June 2006 - Tapestry TLP move
Tapestry has moved to a TLP at its new address, http://tapestry.apache.org.

725デフォルトの名無しさん2006/07/15(土) 01:04:24
今更だが、日本でTapestryが普及しない2番目の理由に(もちろん1番目は日本語ドキュメント)、
付属してくるサンプルがバギーで使い道がないモノだらけだから、てのがあると思うの

726デフォルトの名無しさん2006/07/15(土) 13:50:25
それだと日本とそれ以外とで違う理由にはならないような……。

727デフォルトの名無しさん2006/07/15(土) 13:53:47
>>725
IT業界とかJavaとか、そんなんが流行ってないような。

728デフォルトの名無しさん2006/09/09(土) 10:14:36
浮上

729デフォルトの名無しさん2006/09/23(土) 12:39:43
age

730デフォルトの名無しさん2006/10/02(月) 22:36:42
StrutsやJSFは捨ててこっちに移ることにした。
疎結合マニアの俺としては、あれらは肌に合わない。
デザイナに「はぁ?何そのルールw」とか
いわれることを想像すると泣きたくなっちゃうしね。

731デフォルトの名無しさん2006/10/19(木) 21:00:55
age

732デフォルトの名無しさん2006/10/20(金) 22:09:03
ゴメス チェンバレンです・・・
4.1から、unstableの文字が、取れたとか取れないとか・・・

733デフォルトの名無しさん2006/12/10(日) 02:19:41

734デフォルトの名無しさん2006/12/23(土) 17:56:42
来年の今ごろも新スレ移行してはいないよかん

735デフォルトの名無しさん2006/12/24(日) 11:46:20
これとかWicketの方がVisual Web Packに向いてると思ったんだけど
それっぽいツールとか出てないのかい?for HomepageBuilderみたいな感じで。

736デフォルトの名無しさん2007/02/06(火) 18:15:36
tapestry5のPreviewが出ていたけどどうなん?

737デフォルトの名無しさん2007/02/06(火) 19:50:41
>>736
かわいそう

738デフォルトの名無しさん2007/02/08(木) 10:57:57
>>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 にアクセス。

739デフォルトの名無しさん2007/02/19(月) 21:24:04
Tapestry5最高!

740デフォルトの名無しさん2007/02/26(月) 15:08:38
何がどう最高なの?

いまやStrutsどころかJSFやSeasar2がでてきて
わけわかめな俺によさを教えてくださいな

741デフォルトの名無しさん2007/02/26(月) 15:10:08
うーむ、スレがたってから3年も経っているのか。

当時、これをネタに卒論で研究している香具師いなかった?

742デフォルトの名無しさん2007/02/26(月) 15:43:51
>>10
はじめ何のことだかぜんぜんわからなかった。
ディスクシステムか!

なんでそんなもんが!
ぐぐったら意味不明なクソゲーだ


ゲーム内にtapestryという単語がでてくるわけね

立花理沙って誰だ?


743デフォルトの名無しさん2007/02/26(月) 15:44:28
age

744デフォルトの名無しさん2007/03/09(金) 06:27:16
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");//文字コード強制指定

745デフォルトの名無しさん2007/03/17(土) 09:45:34
>>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();
    }
  };
}

746デフォルトの名無しさん2007/03/18(日) 00:25:28
>>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();
    }
  };
}

7477452007/03/18(日) 03:17:12
>>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に戻してたんだけど、そういうことだったのか。

748Tapestry5ページ更新情報2007/03/31(土) 03:20:22
Last Published: 29 Mar 2007
@Inject使用方法変更
@Path,@Serviceアノテーション追加

749Tapestry5ページ更新情報2007/05/03(木) 16:02:25
Tapestry5.0.4
http://people.apache.org/~hlship/tapestry-releases/

750デフォルトの名無しさん2007/05/25(金) 18:08:48
age

751デフォルトの名無しさん2007/06/07(木) 22:41:40
age

752Tapestry5ページ更新情報2007/06/30(土) 21:14:52
Tapestry5.0.5
http://people.apache.org/~hlship/tapestry-releases/

7537452007/08/18(土) 17:40:55
寂れてるけど一応書いとく。

@Meta("tapestry.response-encoding=Shift_JIS")

をページクラスにアノテーションすれば良くなったので、
AppModule.javaいじる必要なくなった。

754デフォルトの名無しさん2007/09/06(木) 14:48:29
apache projectにturbine、tapestryとあるけど、
それぞれどう違うの?
両方ともプレゼンテーション層のフレームワーク?

755デフォルトの名無しさん2007/09/12(水) 16:56:09
Tapestryで、WicketとかTeedaみたいに
HTMLとロジックを完全に分離してしまう事って可能ですか?

756デフォルトの名無しさん2007/09/15(土) 09:31:44
WicketとかTeedaがTapestryみたいにHTMLとロジックを分離できる。じゃないのか?
そしてTapestryはWebObjectみたいに・・・となるわけだが。

757デフォルトの名無しさん2007/09/15(土) 20:41:28
>>756
確かにTapestryの方が「生HTMLっぽいTemplate」を使う考え方は
早かったかもしれませんが、WicketやTeedaほどキレイに分離できるのでしょうか?

テンプレートとして使用するHTMLが、
それ単体でブラウザから見ることができるのか?

というとこまではできそうに無いなあ、と思っているのですが。

758デフォルトの名無しさん2007/09/15(土) 21:40:17
>>757
それは普通にできるでしょ。それらコンポーネント方式組はほとんど兄弟。
正直、

・デザインテンプレート部分
・裏側のコンポーネントモデル
・それらを結合させるグルー言語

は標準化して、エンジンがJavaで書かれてようがなんだろうとOKにして
欲しい。汎用言語と違うグルー言語記述を導入した時点でベースエンジンから
完全に切り離し可能になってるわけで。


759デフォルトの名無しさん2007/09/15(土) 21:42:29
「〜ほどキレイか」という部分については、Tapestryの方が今となっては
シンプルさに劣ると思うけど、それはHTML/ロジック分離の所にはあんま
影響してないと思う。

7607572007/09/17(月) 23:38:43
>>758
Tapestryでもキレイに分離できるのですか、勉強不足ですいません。

BeanEditFormのサンプルとかを見て、
input タグとか書いてないのに入力formが生成されてるとは何事か!
とか思ってました。

ちなみに、Wicketでも WicketWebBean なるものが
A Wicket Diaryで紹介されてましたね。

761デフォルトの名無しさん2007/10/11(木) 01:11:18
Tapestry5を使ったサイト「TheDailyTube」
http://www.thedailytube.com/bestoftoday

762デフォルトの名無しさん2007/10/12(金) 00:28:28
いつのまに5まで!

763デフォルトの名無しさん2007/10/26(金) 23:54:18
5.0.6

764デフォルトの名無しさん2008/01/07(月) 20:07:11
http://www.kensayoyaku.mlit.go.jp/CarAnswer/app
国交省の車検予約しようとしたら偶然見つけた
HTMLのソースを見るとTapestry使ってるっぽい。

それにしてもTomcatモロ出しとは。。。

765デフォルトの名無しさん2008/01/07(月) 23:32:36
作った奴このスレ絶対読んでるだろ。
小規模案件だから実戦体験を兼ねて使ってみたのかな・・・

766デフォルトの名無しさん2008/02/01(金) 19:24:41
JSF2.0の策定にTapestryの中の人が誘われてるって話はどうなったんだろう。
中の人はアンチJSFらしいけど、ことがうまく運べば素晴らしい相互運用性が得られるね。

767デフォルトの名無しさん2008/02/04(月) 21:03:08
>744はShift_JISで書かれたテンプレートをtapestryに読み込ませる方法で
>745以下はresponseのエンコード指定方法だよね?

>744の問題のほうだけどどう解決しようか
思いつくのは、
1、おとなしくUTF-8でテンプレートを書く
2、<?xml version="1.0" encoding="Shift_JIS" ?>とテンプレートの先頭に書く
3、TemplateParserImplのコードを書き換えるorAppModuleあたりで
TemplateParserのサービスを自分実装のものに置き換える

768デフォルトの名無しさん2008/02/05(火) 02:08:16
>>767
普通に2でしょ。

あと>>745のは5.0.5から必要なくなってる。
@Meta("tapestry.response-encoding=Shift_JIS")
とページクラスにアノテーションすればレスポンスはShift_JISになる。

769デフォルトの名無しさん2008/03/15(土) 11:34:49
5.0.11age

770デフォルトの名無しさん2008/04/04(金) 22:58:37
>>766
ソースは?

771デフォルトの名無しさん2008/07/09(水) 14:48:24
Tapestryが使われている日本語のサイトはあるのか?
特にTapaestry5

772デフォルトの名無しさん2008/07/09(水) 20:16:43
>>771
764にあがってる国交省の車検予約。
5ってまだベータだよね?さすがに無いんじゃね。

773デフォルトの名無しさん2008/09/26(金) 16:58:24
tapestry5.0.15がリリース。
まだベータだが。

774デフォルトの名無しさん2008/11/04(火) 14:33:37
Tapestryが日本で使われない理由はやはり>>361ですか?

自分が働いている企業は主にTapestry4.1-hibernateを使っています。
学生でもあるので卒業後日本に戻る気ですがTapestryでは仕事もらえそうにないですね。
個人的に好みなのに。残念。

775デフォルトの名無しさん2008/11/05(水) 00:53:41
4→5の動き方が気になりすぎて選択できない

776デフォルトの名無しさん2008/11/15(土) 01:58:35
まだリリースされていないけどTapestry5は行けていると思うよ。
Wicketに比べるとコード量もだんぜん少ないし。
やはり日本語ドキュメントが無さ過ぎる感じがする。
ttp://kuramo.ch/tapestry5/ja/
にがんばってもらいたいのだが...

777デフォルトの名無しさん2008/11/15(土) 05:46:10
>>776
しばらく止まってしまってたが、またがんがるぜ。
ちょうど今、日本語訳を5.0.15に更新したところだ。

778デフォルトの名無しさん2008/11/15(土) 12:03:53
Tapestry5ではAjaxが異常に簡単だぞー
スクリーンショットを見ればすぐわかるぞー
ttp://tapestryjava.blogspot.com/2008/11/tapestry-5-ajax-screencast.html

779デフォルトの名無しさん2008/11/18(火) 02:06:31
Tapestry 5.0.16 (Release Candidate)がリリースされた。

だれか
ValidationMessages.properties
Errors.properties
...
をローカライズして送ったれ。


780デフォルトの名無しさん2008/11/18(火) 15:19:28
>>361
>>774
T5のサンプルを見れば英語に自信がなくても作れるだろう
http://jumpstart.doublenegative.com.au:8080/jumpstart/

781デフォルトの名無しさん2008/11/18(火) 23:36:33
GuiceとSpringどっちと相性いいの?

782デフォルトの名無しさん2008/11/19(水) 02:08:52
Tapestry 5のコンポーネントの拡張例
ttp://87.193.218.134:8080/t5c-demo/

783デフォルトの名無しさん2008/11/19(水) 08:30:49
>>779
おk。俺がやっとく。
あと BeanEditForm, GridColumns, GridPager, Palette あたりもかな。

どうせデフォルトのまま使うことってあまり無いし別にいいじゃん、とか思ってたけど
結構たくさんの言語にローカライズされてんのね。

784デフォルトの名無しさん2008/11/19(水) 10:37:51
>>781
Tapestry5は独自にTapestry IoCのがあるから、
Guice、Springは使う必要性がない。

785デフォルトの名無しさん2008/11/19(水) 18:30:25
Springとはtapestry-spring使えば簡単に連携できる。
Guiceとの連携はだいぶ前にMLで話題になってたようだけどよくわからん。

>>784
必要性がない、は言い過ぎではないかしら。

786デフォルトの名無しさん2009/02/15(日) 20:44:29
Tapestry5.1はリリースされているTapestry5.0.8と比べて何が良いかな?

787デフォルトの名無しさん2009/02/17(火) 21:17:58

788デフォルトの名無しさん2009/02/20(金) 11:57:15
Tapestry5.0.18の日本語の情報がなさすぎだ


789デフォルトの名無しさん2009/02/21(土) 21:30:03
>>788
ttp://kuramo.ch/tapestry5/ja/

はどうだ?
5.0.18に対応していなが良く訳している。十分だろう。

790デフォルトの名無しさん2009/03/25(水) 00:18:08
Tapestry5の勉強会をするらしい。

ttp://d.hatena.ne.jp/yone098/20090321/1237731138

791デフォルトの名無しさん2009/03/25(水) 11:29:16
tapestry5(かな)は海外では流行っているぞー

http://d.hatena.ne.jp/shin/20090319/p2
http://www.javapolis.com/confluence/plugins/advanced/gallery-slideshow.action?imageNumber=7&pageId=32793&decorator=popup

792デフォルトの名無しさん2009/04/01(水) 11:34:36
■Google、AppEngineでJavaのサポートを開始■
http://jp.techcrunch.com/archives/20090326get-ready-for-java-on-appengine/

793デフォルトの名無しさん2009/04/09(木) 14:38:00
>>792

きたー
Tapestry5万歳!

794デフォルトの名無しさん2009/04/09(木) 19:56:30
>>793
AppEngineってTapestryなの?

795デフォルトの名無しさん2009/04/26(日) 21:13:15
flockというRSS ReaderがTapestryで作られていた。

796デフォルトの名無しさん2009/05/01(金) 00:46:37
flock設置してみた
http://flock.morphexchange.com/

797tor.rootkit.de2009/08/17(月) 17:57:42
自動焼人 ★ = 自動保守 ◆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/
にて自動焼人 ★までご連絡ください

798デフォルトの名無しさん2010/12/28(火) 05:22:20
弾幕薄い

799デフォルトの名無しさん2011/04/30(土) 15:36:51.24
2011年にようこそ(本当に流行らなかったな・・・

800デフォルトの名無しさん2011/05/01(日) 18:02:59.88
wo事態が消えちゃったからな。

801天使 ◆uL5esZLBSE 2011/07/02(土) 20:30:01.48
↓↓↓
「「「「「「「 ■Google、AppEngineでJavaのサポートを開始■ 」」」」」」」(キリッッッッ!!!キリッッ!!!!!!
↑↑↑(キリッッきリ!!


ゴミって意味わかってんのかなこいつら

802天使 ◆uL5esZLBSE 2011/07/04(月) 22:39:25.94
>>794
↑↑↑ハッアアアアアアアアアアァアァアアァアアアアアアアアァアアァ??????????????

死ねよゴミ
ゴミグラマって気持ち悪いんだな

803デフォルトの名無しさん2011/11/22(火) 19:13:28.01
sage

804デフォルトの名無しさん2011/11/23(水) 21:24:40.16
Apache的には、Apacheプロジェクト内のJavaのWebフレームワークって
何が本命なのかね

805 忍法帖【Lv=25,xxxPT】 2012/04/23(月) 10:56:29.89
k

806デフォルトの名無しさん2012/06/03(日) 16:30:41.98
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/

807デフォルトの名無しさん2012/06/24(日) 05:41:46.42

1000 :uy ◆xVOGOO9ev6 :2012/06/23(土) 12:35:29.68
俺は動的言語の問題点をいくつあげてもwwwww
静的言語よりはマシだと確信してるわwwwwwwwwwwwwwwwww


静的言語の問題点をなぜ挙げないかって??

見放してるから、問題点を指摘さえしないってことだよwwwwwwwwwww
気づけバカwwwwwwwwwwwwwww

808デフォルトの名無しさん2012/08/08(水) 11:04:34.18
a

809デフォルトの名無しさん2013/04/21(日) 09:42:13.13
            _
        r-、' ´   `ヽr-、
       ィ7 /l: ハヽハ トヾ    駄スレを沈めることはこの俺が許さん!
        '|l |'´_` ´_ `| ||    信念に基づいて行動する、
        | |´ヒ}   ヒ}`! l |   それを人は正義と言う。
   __ノ゙). 从 l,  _'_.  |从   今俺が行ってることは、上げ荒らしではないっ
 ,_'(_ ノ_ヽ ヾl.> - ,イ;リ     正義という名の粛清だぁ!
 { f:テ} {'f:テ}',/\ヽ--//ヽ    
 ヽ,r─‐ 、ィ .、、 i l>Y<! i '、    バーニング!
 / iゝ_ノ iヽ /l   |l  l   ',
 lンヽ/ムノじ

810デフォルトの名無しさん2014/02/28(金) 03:53:10.11
>>799
これから流行るかもしれないじゃん

811デフォルトの名無しさん2014/02/28(金) 03:55:59.98
TapestryはFaceletsの構想上の親でしょ
役目は果たしたんだから恥じることなく畳めばいいよ

812デフォルトの名無しさん2014/03/01(土) 06:41:33.42
タペストリーって名前がかっこいいな

813デフォルトの名無しさん2014/03/02(日) 17:54:41.86
>>804
Webフレームワーク?

814デフォルトの名無しさん2014/03/05(水) 21:55:33.44
好きなんだけどな。

815デフォルトの名無しさん2014/03/08(土) 21:03:38.91
好きならもっと布教しろよw

816デフォルトの名無しさん2014/08/12(火) 09:10:26.45ID:wWMghJWz
★2ch勢いランキングサイトリスト★

☆ +ニュース板
・ 2NN
・ 2chTimes
☆ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ Unker
☆ +ニュース板他
・ Desktop2ch
・ 記者別一覧
☆ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
☆ 実況板
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索

新着レスの表示
レスを投稿する