2012年6月プログラム718: Tapestryについて語ろうよ! (807) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【注意】STLの落とし穴【危険】 (852)
なぜ、 = が 代入 を 表す 記号 に なったか? (572)
ファイルの重複検出ツールを作ろうぜ (340)
1000 1001 1110 1111 1001 1000 0110 0010 (319)
BREW(Binary Runtime Environment for Wireless) 11 (512)
CLDC+MIDP+携帯電話用Javaスレッド part 9 (921)

Tapestryについて語ろうよ!


1 :03/10/31 〜 最終レス :12/06/24
JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?
私はTapestry2.3あたりのころにTapestryの存在を知りました。
それまではStrutsでした。
デザイナーを内輪にかかえていない我が社では外注先から戻ってきた
HTMLからJSPへの変換および、再修正依頼が非常に困難でした。
○JSPへの変換ってつまらないよね!
○デザイナーがStrutsの拡張タグ理解できるわけないだろう!
○できたとしてどうやってデザインするの?
そんなあなたにはTapestryしかありません!
ぜひ日本でもこの2chを中心にTapestryの輪を広げて
Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ!
ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v
登録ユーザ○十数万人、売上○千万円程度の規模です。
携帯は全機種対応確認済みです。
携帯のブラウザのバグ的なものに対応するために、
Tapestryのソースいくつか書き換えてるけどね(^_^;
Tapestryに興味ある人レスよろしくね!

2 :
まずそれについて簡単な説明ヨロ!
期待してるぜ!

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

4 :
Velocityとの併用はできまっか?
JBOSSとの併用、
Turbineとの併用、JSFとの併用もできまっか?

5 :
マルチポ (ry

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

7 :
>JakartaのTapestryフレームワーク使ってますか?
>日本ではなかなか情報が手に入らず、本家のドキュメントも
>古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?
こういう状況では使いたいと思っても「挫折」という感覚はないなぁ。
俺は explorer ではない単なるへたれなので、世にこなれてくるまで放っておく。
こなれてれば英語でも開発ストップしてても使う。

8 :
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 :
おいらも詳しく知りたいな。期待してるよ

10 :
リサの妖精伝説だな。

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

12 :
Tapestryって日本で使ってるやついるの?
いいサイト教えてくれ!

13 :
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ
いいか?これは、どのフレームワークにもいえることだが
Tapestryを使うためにアプリ作るわけじゃないだろう?
アプリ作るためにTapestryを選択するわけだ。
だけどよ、Tapestryを選択しないといけないようなアプリってどんなのよ?
スレ立てるほどの需要があるとは思わないが

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

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

16 :
Strutsにしても、Tapestryにしても、
拡張タグを使わせるフレームワークは個人的には嫌いだし、
何年か経つと単にお祭りで終わっている気がする。
プレゼンテーション層は、
HTMLタグ
jspタグ(あるいはJSTL)
だけで構成すべきだと思う。
もちろん、Beanを使用して、コントロールサーブレットで
構築するMVC手法は守るんだけど。

17 :
>>15
デザイン重視って言う意味がわからない
デザインなんて関係ないじゃん。
TapestryでできることはJavaScriptだってできる。
Tapestryがページ単位で選べるのだったらいいが
それは難しいだろう。

18 :
>>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 :
>>18
ちょっとずれてしまうが
Webフォームとどうやって連携するの?
TapestryつかうとStrutsとか当然使えないと考えての質問です
共存は出来ないんでしょ?

20 :
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

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

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

23 :
かなり期待してます。次はいつかな?

24 :
Tapestryマンセー

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

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

27 :
早く本出せるようがんばれよ!期待してるぜ

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

29 :
で、Tapestryは本当にWeb限定なのか?

30 :
もう、いいだろ?
開発スピード落としてまで使うことはない。
素直にStrutsか.NET使った方が開発スピード速いよ。

31 :
>>30
開発スピードは変わらないと思われ。
変わると思うなら根拠を述べよ。
Tapestryのいいところは、デザインとロジックの
分離がきれいにできているところじゃないかなぁ。
それぐらいだけどね。

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

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

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

35 :
>>18
それみるとさ、
strutsでVelocityを使えばいいのでは?
と思うんですがどうですか?

36 :
>>32
なんだ。
技術を習得する噺家。
あんなもん、三日あれば理解できるだろ。
基本的なこと以外は、コンポーネントの設定の話だから。
デザイナとプログラマの話し出てたけど、
デザイナがHTML以外を使う話は聞いた(経験した)ことない。
プログラマが、JSP直でいじっている以外は、
デザイナが作ったHTMLをプログラマが毎回
JSPに変換しているはずだよ。
ドリがJSPを理解できるなら別だけどな。
というわけで、JSFも糞だな。
ドリってなによって聞くなよ。

37 :
36に賛成!

38 :
ドリってなによ?

39 :
しかし、どうもプロジェクト乱立しすぎじゃないかと思う。
一つ一つは覚えれば、複雑でわからないといったことはないが、
Jakarta全体で将来、どうしたいのかが判りにくい。
特にVelocityとTapestry、微妙にかぶっているとこもありそうだし、
Jakartaは調整が必要な気がする。
個人的には勝ち残りフレームワークしか使いたくないし。

40 :
確かにCommonsなどを見るとXML関係が妙に乱立しているね。
けどオープンソースにそういう調整は要らないよ。
要るとしたら見た目だけの調整や、
どれがどのような用途に向いているのか、
どれがどれとどう違うのかをはっきりと明示するなり
用途に合わせたお勧めを紹介してもらうが吉。
商用アプリじゃないんだしオープンソースに勝ち残りなんて関係ないさ。
使われない技術が消えると言うこともまずないさ。
消えたとしても名前が変わったとか他の技術と融合する程度さ。
それに不満があるなら自分で改良すればいいさ。

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

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

43 :
>>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 :
Exciteで日本語に翻訳したやつなら作ったよ
直訳だとほとんど意味不明
StatelessとかStatefulが「州」になるのが特にイケテなかった
欲しかったらbase64で貼り付けるけど?

45 :
>>44
俺宛のコメント?
俺は要らないよ。英語読めるから…

46 :
>>20
> ●●●メイン●●●
> ○Tapestry本家
> http://jakarta.apache.org/tapestry/
をみるとJavaScriptを使ってメリットを力説しているみたいでワラタ
http://jakarta.apache.org/tapestry/quotes_frame.html
>「タペストリーは、JSF、支柱(struts)およびその他同種のもののようなフレームワーク
>からの鼻水を殺そうとして襲います」
>私が働く会社はカナダ研究協議会と研究計画を行いました。
>>また、私たちは、私たちが行っていた技術的な危険計画のための
>ウェブ・サービス、J2EEおよびデータ・ベース・システムを調査して
>数か月を過ごしました。それから、私たちは3つのものを学習しました:
>ウェブ・サービスは未熟でした。
この引用記事を見るとかなり宣伝しているみたいだね。
他のプロジェクトに比べると異様なほど宣伝が多いのはなぜだ?
Tapestryで商売でもやってるん?
HTMLやXMLに限定することからJava以外にもどんな言語にも使えるんだね。

47 :
宣伝?

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

49 :
>>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 :
それではカスタムタグライブラリの立場が・・・・・

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

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

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

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

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

56 :
たとえばどんな?

57 :

他にTapestryのお勧め意見ください
>>31
>「Tapestryのいいところは、デザインとロジックの 分離がきれいにできているところじゃないかなぁ。 それぐらいだけどね。」
↑みたいにたいして説明できていない昨日今日使ってマンセーってのは参考にならん

58 :
>>57
へえー。
昨日、今日使ってどうなんて関係無いだろ。
別にTapestryまんせーでもないよ。
これまで、JSPとHTMLの変換で大変だったから、
こういうアプローチだとうまくいくのかと思っただけ。
>>51
現場でさ、JSP書くデザイナなんかいないって。
開発者が書いているのは別だよ。
イントラなら十分にありえる。
最新技術を使ってたら なんて
どういう技術よ。

59 :
>>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 :
これまたエスケープシーケンスの取り扱いが
面倒なことになりそうや
$や@を直に入力して使えんじゃないか
わざわざ&を&とか>を>とか<を<とかに置き換えるみたいに
$や@もエンティティ参照で置き換えねばならんかい?

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

62 :
>>60
その必要はなし!
$と@を使う予約ワードはjwcid属性の値のみだから、
jwcid="$remove$"とかjwcid="@ExternalLink"
という風に数もたかだか知れている。
他の場所に$とか@があったらそのまま文字として出力されるよ
ちなみにロジックで生成した文字列の中に&、>、<、が入っていて
それを@Insertで出力する場合は自動的にHTMLエンコードして
&amp;&lt;&gt;として出力されるのは
<bean:write>と同じです。

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

64 :
JSP vs. Velocity
http://www.jajakarta.org/velocity/velocity-1.3.1/docs-ja/casestudy1.html
XMLC vs. Velocity
http://www.jajakarta.org/velocity/velocity-1.3.1/docs-ja/casestudy2.html
こういう比較のTapestry版があったらよろ

65 :
age

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

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

68 :
age

69 :
>>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 :
>>66
うちの会社はデザイナーいないよ。
外注先デザイン会社の営業の人とは話するけど、
デザイナーとは直接コンタクト取れないね。

71 :
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 :
Tapestryのソースを見ると、
CVSでヴァージョン管理するときに
$$記号でソースコード内にヴァージョン番号などをつけるのが難しくなると
思うのだが、
そういう場合はどうすれば言いのだろうか?
Tapestryで本番JSPに変換するときだけCVSの$Id$などをはずすように
チェックアウトせなあかん?

73 :
>>72
TapestryはJSPではないのでそもそも「変換」という作業は必要ないよ
実行時に見せたくないなら
<span jwcid="$remove$">$Revision$ $Date$</span>

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

74 :
しかあし、たとえばこんなことをやりたいときは?
ボタンタグにヴァージョン番号をつけるんだ。
<input jwcid="$Revision 1.2$">$Revision$ $Date$</span>
これも$をエンティティ参照で$を消す?

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

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

76 :
age

77 :
13 名前:デフォルトの名無しさん 投稿日:03/11/02 18:25
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ
53 名前:デフォルトの名無しさん 投稿日:03/11/06 16:20
他にネタがないのだろうな多分。

78 :
>>77
部分抜き出しで多数派工作なんて君はマスコミ?w

79 :
>>71
次はいつかな?

80 :
>>71
俺も早く見たい。入門講座

81 :
Tapestryはほかにもどんな用途に使えるんだろう。
すべてのVelocityの機能をTapestryだけで実現することも可能なんだろうか?
Velocityを使った、EclipseのSimteekプラグインのように
プログラミング時のソースコードテンプレートに使える用途はあるのか?

82 :
>>71
俺も期待してるよ!

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

84 :
>>71
今晩あたりかな?w

85 :
>>81
TapestryとVelocityはまったく別のものだよ。
Velocityはテンプレートエンジン
TapestryはWebアプリのフレームワーク

86 :
やはりWeb用にしか使えないのか?
いやまてよHTML上にかくということは、
XMLでも使えるということか?
ならば、かなり凄いことができる!?

87 :
>>86
XMLでも
Anyコンポーネント
Foreachコンポーネント
Conditionalコンポーネント
Choose When Otherwiseコンポーネント
を使えば
XSLTと同じようなことができるね

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

89 :
>>88
簡単Velocityはクソだったらしいな・・・。
まあVelocityの翻訳がクソだったのが問題なのだが。

90 :
>>88
>>89
簡単Velocity
へのリンク希望!

91 :
>>90
http://www.amazon.co.jp/exec/obidos/ASIN/4798005975/ref=sr_aps_b_15/250-3031014-3013008

92 :
>>89
いやだから、『簡単』Velocityなのです

93 :
TapestryとVelocityを比較するとTapestryの方がよく見えてきたぞ

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

95 :
>>94
名前

96 :
ベム、ベラ、ベロシチィ! 
妖怪人間! ジャーン♪

97 :
>>96
今どきそんなの誰も知らないよ

98 :
今後比較予定だってー
www.spacewalker.tv/tapestry/comparison.html

99 :
>>1
先こされるぞ!早く次を書けよw

100 :
キリ番ゲット!

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

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

103 :
>>102
ああ、やっぱり?
おれもディレクトリ名が
「ケミストリー」になる

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

105 :
サンプル動いた。(^^)

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

107 :
>>106
次は?もっと早いペースで頼むよ

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

109 :
>>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 :
>>108
早く返事しろよ
  ∧_∧
( ´∀`)つゴルァ

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

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

113 :
おい、マキシシングル出たぞ
早く買えよ

114 :
>>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 :
>>111
早く返事しろよ
 ∧_∧
( ´∀`)つゴルァ

116 :
>>115
もっとカツラがズレてないとダメだぞ

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

117 :
みんな知ってるかい?Don't you know?
http://www.dorffweb.com/index.htm?page=taptutorial
に新しいTapestryチュートリアルが出たらしい
>>44 はこれを日本語化すること

118 :
 <input type="text" name="hoge" name="hoge"/>
なにこれ。ださっ
テンプレはPerlのHTML::Templateみたいなのがいいな。
ベロcityはイマイチだった。
>>1 は解説サイト立ち上げろ
             ∧_∧
( ´∀`)つゴルァ

119 :
>>117
あ、こりゃ嬉しいな。PDF読んでみよう。THX!

120 :
1.ボタンが押された際にクライアントサイドでの
 入力チェックをしたいのだが、実現可能?
2.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・?

121 :
>>119
どういたしまして You are welcome!

122 :
>>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 :
>>120
早く返事しろよ
      ∧_∧
( ´∀`)つゴルァ

124 :
>>123
もっとカツラがズレてるぞ

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

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

126 :
>>125
簡単で、やり方は3通りかそれ以上あるけど、同じurlにする理由ってあるの?

127 :
>>126
↓「ズラズレモナー」わすれてるぞ!
      ∧_∧
( ´∀`)つゴルァ

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

129 :
>>126
やり方教えて!!

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


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

132 :
>>128
こんな感じで見ます
UserAgent   ←・・・・・・(・∀・ )

133 :
>>130>>131
どんな時もズラせろよ↓
        / ̄ ̄ ̄ ̄\
∧_∧  | でたぁ!   |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

134 :
JavaWorld見たかい?

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

136 :
>>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 :
>>135
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない
ページテンプレートはWEB-INFの下にフラットに置く方が、
デザイナーさんにファイルを送るときにまとまってて都合がよいよ

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

139 :
>>98
http://www.spacewalker.tv/tapestry
消えてるんだけど(>_<)
どういうこと?責任取れ!

140 :
俺達のTapestryは幻だったのか?

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

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

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

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

145 :
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

146 :
http://jakarta.apache.org/tapestry/

147 :
Validationの使い方教えて!

148 :
なんかよくわからんが…
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。
結局Tapestryだって、独自記述をデザイナーに理解させる必要が
あるわけだし、スクリプトレットを存在させないJSPと対して変わらんよ。
※ちなみに、初期時はともかくとして運用段階においてHTML以外を
 拒絶するデザイナー(だいたいバイト)なんて見たことない。
それに、純粋にプレゼンテーション層からビジネスロジックを
分離するのであれば、Velocityでのアプローチの方がまだましだよ。
ただ、主流じゃないからエンドユーザーへ提案しずらいのが、
そもそもの問題。
---
システムを買うのは、経営者であってデザイナーじゃないし、
経営者は知名度のある技術を好む。
どうしても分離したいのであれば、PHP+Smartyでいいじゃん。
今のところ、主流になっている組み合わせだし。
※それか、自分の趣味で遊ぶとかね。
と、ここまで書いておいて気付いたんだけど。
Tapestryの応援スレだったんだね。フレームワークスレだと思ってた…
水を差したのであれば、すいません。

149 :
気付いたならsubmitするなよ

150 :
>>149
さんせいマンセー

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

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

153 :
びんぼー(T_T)/

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

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

156 :
>>155
そうだけどそれが何か?

157 :
つづれおり、いいよね。

158 :
ユーガッタフレンド〜♪

159 :
>>157
はぁ?

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

161 :
age

162 :
>>1
次はまだか?

163 :
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

164 :
タペストリ

165 :
Tapestryってなんて読むの?

166 :
テープストーリー

167 :
つまんねぇ

168 :
>>1
次はまだかい?もう年越すぜ?

169 :
age

170 :
Tapestry のよさは、デザイン分離がクローズアップされがちだが、
もっとグレイトなのは、HTTPというプロトコル上ステートレスかつ
URL の連鎖で画面のコンテキストを追っかけるつくりになっちゃう
ところを、画面の構成コンポーネントのイベントハンドラで作り
こむ、まるで Swing みたいな設計をするところだと思うな。
その点、Struts とも Velocity とも比較するものではなく、JSF
と比較すべき存在だと思う。じゃなきゃ、Swing とかとの比較だ
な。まあ、クソスレの住人にはわからんだろうが。
このスレはめずらしく >>1 がまともかと思ったら、威張るだ
けで根性なしだったのがザンネンだ。マジにこの時期にTapestry
で成功事例もってるなら、金払っても話が聞きたかったものを。。
まわりもおだてて話させりゃいいものを、自分が理解もしていな
いのにヤヅでつぶしちまった。ほかに、Tapestry の読むに耐える
板はどっかにないもんかね?

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

172 :
>> 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デザインをするのに向いている
と感じているので、次の案件に使ってみたいと思ってる。
その点、すでに使ってるヤシの情報は漁ってるんだけ
どね。なかなか書いてくんないね。

173 :
わりい、172だが、読み直す前にぽちっと
いっちゃって、日本語がマンセーマンみ
たいに。要は、スタンドアローンなアプリ
をVBやDelphiで作るみたいな感覚で、デザ
インに力入ったHTMLが所与できちゃった案
件でもさくさくと作れる時が近いうちに実
現するんじゃないかと。Spindle 次第では。

174 :

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

1.(神が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、
          五感(嗅覚)が鈍り感性が変化する
4.K&P 神は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる
7.K 正常な人間   A 異常な人間(レッテル)

175 :
8.K&A 死
9.K&A      来世
10.K&A 神は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 神が喘息であるかないかを決める
12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:体力をつけると感覚が正常に戻り、
    アトピーも快癒に向かう。
    目安としてグランドを10週くらい。
あとはウォーキング
    2.3時間を目安にウインドーショッピングや本屋めぐり

176 :
おっ、Tapestry賛成派の意見が増えてきた
もうJAVA World出たよ>>1

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

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

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

180 :
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用

181 :
>>178
URL希望

182 :
age

183 :
>>178
URL希望

184 :
>>183
http://www.manning.com/

185 :
Tapestryホームページがリニューアル
http://jakarta.apache.org/tapestry/
Tapestry3.0beta4も出たぞ

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

187 :
age

188 :
Tapestryのうまい使い方載ってるサイトない?
ソースコードサンプル付きで。
すでにStrutsで開発しているときにTapestryを導入するとしたら
どう対応すればいんだろう?
カスタムタグを使って作ったJSPファイルを
また修正しないといけないとか?

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

190 :
>>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 :
>>188
ActionFormのプロパティは、ページクラスにabstractでget/set***を作成し、
ページ仕様ファイルにpropertyの名前と型を記述する

192 :
>>190
へ〜

193 :
新リンク発見
http://www.milkstand.net/fsgarage/archives/000220.html

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

195 :
Tapestry3.0beta4ってどうやって使うの?

196 :
>>195
おれもしりたい

197 :
パペストリで、画面遷移とかってどういう仕組みになってるの?
いいサンプルかチュートリヤルある?

198 :
>○Beginning Tapestry
>ttp://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt
このパワポファイル、勝手に翻訳(駄訳)してみたんだけど、ほしいヤシいる?
一応、機械翻訳じゃないんで日本語になってるとは思われ(w
ただし意味不明な箇所も有り。
なんか、タペってStrutsよりも効率よさそう。

199 :
>>198
ノシ

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

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

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

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

204 :
ダウソロードできないよー

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

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

207 :
>>205
http://kari.to/upload/index.cgi

208 :
>>198
iriaで試したら落とせました。
ありがd

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

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

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

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

213 :
>>211
ダウンロードできないよ

214 :
http://marmotfarm.com/cgi-bin/upload2/source/up31226.zip

215 :
>>214
やっぱ、できないんだけど、うちのネットワークのせい?

216 :
>>215
うpろだから消しただけだろ。

217 :
うpろだから消えまくりですな。。。
とりあえずおまえら、技評から出版されてる「Jakartaプロジェクト徹底攻略2」で、
タペの特集やってますよ!これは買いでつ!
あと、併せてWEB+DB PRESSでは、O/RマッピングのHibernateも特集。
タペ+ハイバネで、楽チン開発・・・・かな?
個人的には、O/RマッピングフレームワークのCayenne(ttp://objectstyle.org/cayenne/)
も気になりマクリマクリスティですよ。
・DBMSのスキーマ情報のリバース
・リバース時にリレーションを自動解決
・DAO層のJavaクラスの自動生成
こんなんができるそうで。
スレ違いですな。。。このネタは、
Java⇔RDBのMapping-Frameworkを語るスレ
ttp://pc2.2ch.net/test/read.cgi/tech/1049030272/
向けでつね。。

218 :
>>217
スレ違いだけど WOLips 入れたら Cayenne 付いてきてた...
EOF 使うからたぶん使ってないとは思うんだけどね...

219 :
CayenneでもHibernateでも良いけれど、
WOのEOModeler + WOBuilderみたいに、ロジックとモデルの接続が
マウスグリグリで出来るようなプラグイン、でないかねぇ。

220 :
↑ここでのプラグインって、Eclipse用でつ。。

221 :
age

222 :
どうも今ひとつしっくりこない、書籍その他手に入れてみたがやり方が書籍やHPによって違っている。
マー複数種類のやり方があるんだろうが・・・。
どうしても理解できないのが
BaseComponentとBasePageをextendsすることの違いです。これは何が違うんでしょ?

223 :
Tapestry って Struts の普及率を超えそうですか?
それとも Struts とは分野が違うものでしょうか?

224 :
TapestryとStrutsは、MVC分離によって各領域のコンフリクトを
防ぐという目的は、だいたい一緒だと思います。
ただ、アプローチが大きく違うんじゃないでしょうか。
Strutsの大きなメリットは、画面遷移周りをstruts-config.xmlという設定ファイルとして
独立させられるんで、遷移情報を一括管理できるってところ。
デメリットとしては、このファイルがでっかくなっていくってことでしょうか。
Struts1.1からは、SubApplicationという仕組みで、設定ファイルを分割できるようになりましたが。
Tapestryの大きなメリットは、テンプレート上の動的HTML生成の仕組みが
コンポーネント指向ってことでしょうか。デザイナとの連携がうまく考えられてます。
コンポーネントライブラリも必要十分だと思うので、海外なんかではStrutsからの移行組も
増えてるとか。
ただ、まだ日本語の情報はStrutsほど多くないですね。

225 :
新しいTapestryのサイト発見
みんなカキコよろ!
http://www.wikiroom.com/Tapestry/

226 :
Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」P71で、
-----
なお、アクセッサメソッドのうちsetXXXXX()メソッドの引数は、
どんなデータ型でもオブジェクト名(変数名)をvalueとしておかなくてはなりません。
-----
と、書いてあるんだけど、意味がわかりません。
引数の変数名に決まりがあるなんて、JAVAではありえないんだけど?
著者の沖林氏、この文の意味を解説もしくは修正してください。

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

228 :
>>226
リフレクション使えばありえんことは無い。
ってかリフレクションはフレームワークでは結構使われるでしょ。
で、Tapestry ではどうなのってのは知りまそん。

229 :
今日から試してみてるんだけど、
WOみたいにURLはSessionIDだけにならないのかな?
http://localhost/app?service=page/xxxx
だと、任意のページに自由にアクセスできてしまうよね?

230 :
Mevericは?

231 :
>>229
自由にアクセスしてもらっちゃ困る全ページにvalidateかValidateListenerつけて
セッションかVisitを確認して、もし認識できなかったらログインページに
PageRedirectExceptionすればよろし。
AbstractPageをextendsしたAbstractAuthPageでも作ると楽できるっす

232 :
>>231
なるほど、そういう工夫が必要なんだね。
WOを参考にしてるとはいえ、やっぱり結構違うな〜。

233 :
>>198
最近このスレ知りました。
PDFも一回うpしてもらうことかのうでせうか。。?

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

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

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

237 :
>>236
出来ません!

238 :
ああ、キャロル=キングね。懐かしいなぁ。
You've gotta friendとか大好きだよ。

239 :
You've gotta hivemind

240 :
JSFとどっちがすごいの?

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

242 :
Eclipse Plugin Spindle の Hello World
ttp://www.wikiroom.com/Tapestry/?HelloWorld

243 :
@ShowErrorって、Strutsでいう<html:errors />なんだろうけど
saveErrors() に対応する方法がよくワカラン。
とりあえずdelegateを定義して、delegate.record("エラーですよ", 〜) にしてるけど
公式ドキュメントすら作りかけだからなぁ。 workbench.warを分析しつつ悩む俺。

244 :
なんか *.page 書くの面倒だね。もうちょっと簡単にならないものだろうか。
ページ用のクラス内のメソッド名の接頭辞と、jwcid の接頭辞を関連付けて、
さらにコンポーネントタイプもその接頭辞で決め打ちしてしまって *.page の
コンポーネント宣言は必要なし、とかにならないかなあ。
使い始めてまだ間がないので、おかしなことを言ってたらすいません。

245 :
>>244
どういう事を望んでいるのかいまいち分からんけど
spindle 使ってもだめなん?

246 :
まさに Spindle を使っているのですが…。.html とクラスを関連づけるもの
として .page を見たとき、なんか微妙に冗長な気がしたんですよね。
でも html にロジック記述がめちゃくちゃ減るので、これはこれでいいのか。
XML に慣れてないだけなのかな?
この仕様だと、Spindle でクラスを書いて、getter とか setter のメソッド
名を選択して .page に反映とか、 .page に存在しない name を使ったコンポー
ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる、
とかすると嬉しいなあ、と。
(使いはじめて 5 時間でそんなことを言いだして…)

247 :
Eclipseプラグインでさ、
Tapestryのコンポーネントと、Hibernate側オブジェクトと、ビジネスロジック中のオブジェクトを
Drag&Dropでグリグリっとバインドできるようなものがあったら面白そうだなぁ。
フリーなWebObjectsって感じで。

248 :
>>246
> .page に存在しない name を使ったコンポー
> ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる
X印だけは出るね。 存在しないクラスにもX印が出る。
Ctrl+Spaceで補完すると、ちゃんとjavadocみたいな説明が出るんで、だいぶ助けになってるな。
ただ、htmlとpage、pageとクラスみたいな連携が弱い。 コンポーネント、プロパティ、リスナーを定義して
こっちはabstract、こっちはこのロジック、これはVisitへ、とか付け替えできると嬉しいなぁ。

249 :
WEB-DBのTapestry徹底入門を読んだ。
あの例題だけでは、submitで呼び出される
メソッドの中で遷移するページを指定する方法が
わからない。
誰か教えて。

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

251 :
>>250
Thanks!
StrutsもTapestryも使ったことがないのだが、
雑誌を読んだ限りでは、Tapestryのほうが良い
感じがした。

252 :
>>249
PageLinkの場合は>>250でいいけど、
ExternalLinkやDirectLinkのようにパラメータを渡したい場合はこういう方法もあるよ
NextPage page=(NextPage)cycle.getPage("NextPage");
page.setMail(getMail());
page.setTel(getTel());
cycle.activate(page);
page.formSubmit(cycle);

253 :
Tapestry のRelease 版ってまだ出ていないのでしょうか?
MileStone 版だけ?

254 :
Validateってどうすんのよ

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

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

257 :
Joey ってどうよ。定義ファイルから pageクラス、ページ仕様、
ページテンプレート、DAO 自動生成。
ttp://joey.sourceforge.jp/features.htm
見る限りスゲーと思ったけど・・・
定型的な画面構成だったらいい楽そうだ。

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

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

260 :
>>259
出来て間がなさそうだから、いろいろ方向転換しそうだね。
他色々ググってたんだけど、これタペと組み合わせどう?
ttp://seasar.sourceforge.jp/
ttp://lists.sourceforge.jp/mailman/archives/seasar-user/2004-March/thread.html
Seasar って前は AP 鯖だったけど Seasar2(S2) でコンテナに
なってタペと組み合わせやすいみたい。未完成だけど。
ML になぜかタペ好きが集まってきてる。

261 :
>>255
レスさんくす。
例のJakarta本2にはValidateについて
書かれてなかったから気になってた。
あとは例外処理だけかな、気になるのは。
一応、どこかに書かれたHelloworldを試してみたけど
なかなか簡単に出来た。で、気になってきた。

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

263 :
S2のRC1でたね

264 :
3.0-rc-1でてる

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

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

267 :
>>266
public void formSubmit(IRequestCycle cycle){
throw new RedirectException("http://www.yahoo.co.jp");
}

268 :
すでにNECから同じコンセプトのデザインシンセサイザという製品が出ているが、特許とか大丈夫なの?

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

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

271 :
age

272 :
復旧おめでとう(・∀・)イイ

273 :
Jakartaプロジェクト徹底攻略2の「Tapestry徹底入門」のサンプルが動かないよ・・・。
誌面の手順どおりに作成しているのに、404だ。
Tomcatのweb.xmlにも設定が必要なの?

274 :
復旧おめでとう(・∀・)イイ

275 :
ognlとjavaassistが無かったことが原因だった。
いつ、別パッケージになったの?
ていうか、Spindleの方は全部はいっとるやんけ!

276 :
保守age

277 :
3.0RC3出てるね

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

279 :
>>273
http://www.gihyo.co.jp/book/2003/232161/support/list1.html

280 :
Tapestryと相性が良いO/Rマッピングフレームワークって、Hibernate? Cayenne?
Googleでのヒット件数はTapestry+Hibernateの方が多いけど、
WebObjects 的な作りが為されているのは Cayenne らしいし。

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

282 :
未アナウンスですが。
3.0キタ━━━━(゚∀゚)━━━━ッ!!
既に幾つかの鯖に上がってるYO!!

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

284 :
あと知名度&実績モナー
開発者から支持されても、採用にはちっともつながらん

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

286 :
やっと触り始めたーよ。
何とか Tomcat プラグインと Spindle で
Eclipse から Tomcat を起動させて開発中のものを
動作させるところまできた。
Tomcat の設定で JVM オプションに
-Dorg.apache.tapestry.disable-caching=true
を追加して HTML のキャッシングもオフに。
Tomcat の再起動も少なくなって、これでガシガシ
テストできるかな?

287 :
あ、参考文献
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 :
shared/lib派です。(^o^)/
起動が早いよ

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

290 :
>>289
なんだか /hoge/app にトンじゃうあれのことね。
Google で全言語248件 / 日本語0件ってすごいな。

291 :
あと遅レスだが
>>226
特集記事の筆者が仕様を 思 い っ き り 誤 訳 してるだけの話らしい。
あとuploadの例で \n 出力するのは(あのケースだと)ちゃんと意味が有るのに、
あたかも意味が無いような注釈入れております。

292 :
>>291
やっぱそうだったのか >変数名をvalueにしておかなければならない
なんでリフレクションなのにローカル変数名まで限定できるんだ? と謎だったが。

293 :
スピソjの話題もここでよいのか?

294 :
>293
いいともー。
TapestryのWikiにも同じ間違い書いてる奴いたなw>value

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

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

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

298 :
>>296 サンクス。

299 :
>>297
そんなあなたに the National Hockey League
http://www.nhl.com/
Cayenne もあるでよ。

300 :
さて、4/29にTapestry 3.1( & hiveMind)がスタートしたわけだが。

301 :
Tapestryでは、StrutsのTilesみたいな機能はないのでしょうか?
Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ
いけないのでしょうか?

302 :
もうサーバサイドJavaは勘弁して欲しいよ
なんでこんな複雑なものが必要なんだ?
冷静に考えれ

303 :
馬鹿発見
難しくしならないようにフレームワークがある
そしてTapestryは結構よくできている用に見える
反面、まったくできてないのはドキュメント
個人で作ったツールは出来がよくてもドキュメントがないとか
そういうのはよくあるがそんなイメージに近い
単なる一ライブラリならともかくその上で動かそうってんだから
ドキュメント無いとお仕事にならないよ

304 :
本質が見えていないバカは303だ。
サーバサイドJava、俺も面倒だと思うよ・・・
全然スマートじゃない。

305 :
何がどう面倒なのよ?

306 :
自分の理解不足を、面倒という考え方に転嫁してるやつがいるな。

307 :
客観的に見て、Webアプリ組むのに、Javaが一番楽チンか?
EJBってカンタン&楽チン?
TapestryとかVelocityとかStrutsとか誰でも簡単にすぐ使える?
俺は人にも教えてるし、書籍の執筆や翻訳したり雑誌記事も書くが
そのたびに内心「あ〜面倒!」と思うよ
逆に、ちゃんと理解してないヤツが何となく「簡単そう」と
思いこんでるだけじゃないの?
やればやるほどマンドクセ

308 :
EJBが必要なレベルのWEBアプリってあんま無いと思うが
フレームワーク開発はプログラマの品質がピンキリなために
業務ロジックだけに集中させるという目的があるはず
分業考えるとstrutsよりTapestryとかのほうがいいとかそういうお話かと
ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし
その程度なら豊富なライブラリもあるしjsp一本でいいだろう
ただある程度の規模になったとき困る
書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前

309 :
>>301
http://dorffweb.com/?page=taptutorial
このチュートリアルの第7章のサンプル見ればわかる。
ってだけでもアレなんで。結論からいうと、
  ・ヘッダー/フッターを司るJWCを自分で作って、テンプレートから呼ぶ。
  ・そのJWCの中では、呼ばれたテンプレートの内容を丸ごと書き出す
   Tapestry謹製のJWC "RenderBody" を呼ぶ。
という方法です。
RenderBodyのもっと詳しい説明はコチラ↓
http://jakarta.apache.org/tapestry/doc/ComponentReference/RenderBody.html

310 :
×呼ばれたテンプレートの内容
○呼ばれたjwcidを持つタグの内容
スンマソン

311 :
StrutsやTapestryを一ヶ月の超短納期prjで採用するのが
間違ってる。。。

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

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

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

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

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

317 :
教えてクンで申し訳ないのだけど、
HTMLテンプレートやpage specification等のファイルの配置ディレクトリを
カスタマイズするにはどうすればよいのでしょうか?
いくつかのサンプルアプリを見てみたのだけど、常にHTMLテンプレートファイルは
context直下のディレクトリに、それ以外はcontext/WEB-INFのディレクトリに
置かれてた。
それと、
複数の階層(ディレクトリ)を設けて、ページの内容に応じてHTMLテンプレート
ファイルを管理したいのだけど、そんなわがままは許されないのでしょうか?
ひとつのディレクトリにしか置けないと、規模が大きくなったときに管理が
不便じゃない? 複数人での制作だとファイル名がダブらないようにするだけでも
大変かも知れないし。

318 :
なんでTapestryを使うの?
ってお客さんに問われたらどう答えますか?

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

320 :
>>317
だな。
それは漏れも尻鯛w
イソアクショソ読めば、どっかに書いてありそうな希ガス。

321 :
>>318
開発工数を削減できます。とこたえます。
でも、本当にそれを実現できるには、開発メンバー全員が
Tapestryのことを或る程度まで知っていなければならない罠。

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

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

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

325 :
新技術を使って前より少ない工数でできました(生産性向上)
じゃあ次は値引いて、
じゃあ次は機能増やすね、
、、、
人月の弊害だよなぁ。。。
生産性向上の利益がエンジニアに配分されない。。。
スレズレスマソ

326 :
>>307
そうなんだよ。激しく面倒。
>>308
勘弁してよ。全員が仕組み理解してないと生産性は上がんないよ。
だからできるだけシンプルに作るべきなんだ。だからEJBは絶対だめ。
自前で必要な分だけ作ったほうが絶対シンプルになる。
>>325
それは模前が選んだ組織の問題だ・・・
Javaのサーバサイド系の技術のほとんどは生産性は上がらないんだよ・・・

327 :
定期的に湧くアンチがいるな
フレームワークがなかったらあとで修正したりするの大変じゃないか?
みんな好き勝手にdoGetとかでガリガリ書いたりするのか?
開発者が1人2人くらいならともかく100人超える規模とかでそれやられたらたまらんな
初期の開発だけじゃなくて運用後の修正のコストなどもトータルで考えるべきだろう
もちろんEJBが必要な案件もあれば必要がないものだってあるさ
そのへんをかまわずにとにかくJ2EE技術すべて使わなければ損とか
いいつつ開発にコストかかりすぎてjavaダメだぁとかあほなやつがいるのも事実

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

329 :
>>327
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。
フレームワークが必要なのは、ウェブのリクエストを処理するところだけじゃなく、
コアな部分においてアプリケーション毎にいくつか出てくるでしょ。100人だろうが
1000人だろうが好き勝手やらないのは当たり前。
フレームワーク作らなきゃいけないところをサボって、どうでもいいフレームワーク
を使おうと一所懸命な感じがしてる。サーバサイドアプリケーションの作り方
ってのをもう一度ゼロベースから考え直してみたらどうだろうか。

330 :
もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ
あほな連中がそういうことやらないで(というか新しいこと勉強してない連中は
フレームワークという単語を知らないらしい)みんなガリガリやるのに慣れているとか
そういうことらしい
まぁ、チームとか会社とか場所によって面白いほど考え方が様々で
そのへん整備されてないところに回されると大変だぞ、と
んでこのスレらしい話に戻すとwebはなんでもあわないのにstrutsそのままとか
そういう話もかなり多い(雑誌で単語を目にしたしったか上司が多い)ので
Tapestryもがんばって欲しいなと

331 :
>>329
最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。
その上でいいものを探して、選択する。
ただ、通常、どのフレームワークでも、いろいろなケースに対応するために、
すごく複雑な設定まで出来るようになってる。
それを切り落として、自分が利用するケースで必要十分なところまで絞り込んで、
ここまで出来れば十分、というところまで絞り込めばいい、ということ。
本当に基本的なところだけなら、実はどのフレームワークも意外に簡単。
作るべきものも定型化しやすいものがおおい。
って、正直Tapestryが本当にいいかどうかはまだ分からないし、
Strutsにはだいぶ苦労させられた口だが。
まあ、そうは言っても、StrutsやTapestryなどのフレームワークを使わないのは損だ、
という認識に変わりはない。自分で作ろうと思うと、以外に大変な割りに、
結局どれかの既存のフレームワークに似たようなつくりになること多いし。
覚えるのが面倒だからという理由なら、ドキュメントが出るのをまってもいいし、
なんなら、コンサルでもいれなよ。一度、カタにはまった開発、ってのをやってみれば、
楽なのが分かる。面白いかどうかは別にしてね。

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

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

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

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

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

337 :
317の件はやっぱり無理?

338 :
>>337
ドキュメントが少ない&
その少ないドキュメントを読みきった香具師が少ないので、
「可能か無理か判断する」のが無理な状態。

339 :
>>333 少なくとも型にはまった開発、っていうのは見られるかな。

340 :
おまいらスピソjがRC1になりますたよ。
Redirect Filter も扱えるようになりましたよ。

341 :
age

342 :
>>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

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

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

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

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

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

348 :
おれはどっちでもいーや

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

350 :
3.0リリースから、もう一ヶ月たつのに、一向に盛り上がってこないなあ。
やってるー? みんなー?

351 :
つうかFlashMXにはまってるからもういいや

352 :
>>350
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。
ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com

353 :
所詮、ニッチなわけで

354 :
悪くないと思ったんだが、だめかなー。
Strutsより現実的でいいと思うんだがなー。

355 :
>>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 :
>>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 :
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 :
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 :
このサンプルはコンポーネントのテンプレートにも使えるよ(^o^)v
/WEB-INF/Hoge.jwc
/sample/hoge/Hoge.html

360 :
age

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

362 :
このスレも50毎に>>361の結論が出て、その繰り返しで1000行きそうだな。

363 :
>>354
Strutsから乗り換える教育投資に見合うメリットがあるのか?
おれは、ないと思うんだが。

364 :
乗り換えるんじゃなくて方向がまったく違う
でも結局>>361

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

366 :
>>356
おー、すげぇ。
明日にでも、さっそく試してみるよ。
しかし、こういうの書かなくてもサクサクっと設定出来ないと
普及は厳しいかなぁ、という気がしないでもないなぁ。

367 :
>>363
Strutsをメンバーの過半数が、機能をフルに使いこなせていたら、
意味は無いだろうね。
Strutsを使っているのになぜかJSPにスクリプトレットを
多用しているようなところだったら、まだ、ある。
でも結局>>361

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

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

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

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

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

373 :
ListEditコンポーネント(とKistEditMapクラス)を使って、
Stale Link状態を事前に検出できるようになる仕組みが、
  Java Doc API を読んでも
  Component Reference を読んでも
  Tapestry In Action を読んでも
なぜだかサパーリわからません。
そんな俺はおhる?

374 :
age

375 :
作者が「テスト助けてくれ〜」と悲鳴ageてるわけだが。

376 :
名前は結構好きだな。

377 :
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 :
>>377
>>361

379 :
>>361

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

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

382 :
Tapestry

383 :
Tagestry

384 :
T

385 :
Tanasinn

386 :
tapestory

387 :
>>377
ナイスだなー
だいたい、高度なアプリケーションにデザイナーがDreamweaver使いたいからという
だらけた理由でプログラマが苦労すること無いんだよ
ページのデザインくらいプログラマだってできるだろ
よって、Tapestryは存在価値なし

388 :
>>387
ページのデザインってデザイナが(ユーザーの要望により)ちょくちょく変えるもんだから
そのたびにhtmlいじったりjsp化は非現実的
struts使うのならたとえばJBuilderについてるstrutsコンバータとか使わないと大変
現場知らないお子さまはカエレ

389 :
Spindleってそんなにええのんか?
しかし、ブツを落とさないと稼動前提条件とかインストールの仕方がわからんのは
致命的。はやらす気はなさそう。

390 :
>>387
Dreamweaverの生産性は異常
だらけた理由とかいって、おまえ、
あ、ごめん、DQNデザイナーを起用してる、DQNプロジェクトの話でしたかpgr

391 :
ただいま、>>387は顔を真っ赤にしてDreamweaverの体験版を落としております

392 :
>>390
単なるHTMLエディタだろ?
何がそんなにいいのん?

393 :
>>392
387?
まずは体験版おとしてやってみろ
Tomcat連携機能とか検証機能とかスタイルシートまわりとかいろいろありすぎてな

394 :
>>392
カスタムタグなんかにも対応してたりもする

395 :
>>394
それじゃ、Tapestryいらないじゃん。

396 :
>>395
実際にやってみろ
カスタムタグはあくまでも解釈されない程度だ

397 :
Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ?
そんなところにそもそもJavaが絡む余地ないだろ。

398 :
ページのデザインってデザイナーが必要なほど、難しいもんじゃないし
Dreamweaverの何が生産性高いのかさっぱりわからん

399 :
>>397
普通のWebサイトでもJava使うだろ。

400 :
>>398
短期の仕事でデザインとプログラムなんて両方やってられるわけがないだろうに
web方面で短気じゃない仕事なんて聞いたこと無いぞ
あとデザイン能力というかセンスは人それぞれ
htmlをプログラマのほうが熟知していてデザイナはあんまりよくしらない
という状況は多いが、それでも成り立つのはタグが綺麗かどうかとか
htmlの知識とかそんなところじゃないしな
しかし現場知らないお子さまの反DreamWeaver厨は気楽でいいよな

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

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

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

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

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

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

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

408 :
タペのスレですよー。

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

410 :
とりあえず、デザイン要素が生じる動的サイト制作には、
生JSPよりもStrutsよりもタペが剥いてると思う。
特に、デザイナーとのコラボが必要な場合。
また、デザイナは特に割り当てられていなくとも、
Webのインタフェースの完成に近い形がプレビューできるというメリットと、
Webインタフェースをコンポーネント指向で作成できるという点でも
タペにメリットあると思われ。
あとは、日本では猫も杓子もStrutsという流れの中で、いかにして
タペの流れを作っていけるかってところだよね。日本語ドキュメント含めてさ。
別に英語ドキュメントだけでもいいけど、それだとやっぱりとっつきにくいんだろうな。。。
たぶん、Tapestry + Cayenne(Hibernate) + Springあたりが、フリーでは最強なんだろうな。
有償製品ではWebObjectsってのが対抗馬だろうね。

411 :
結局Strutsにしても、JSFまでの時間つぶしだしなぁ。

412 :
俺struts使ってんだが、タペについて教えてくれ。
1)HTMLのデザインとJavaの開発を切り離してできるって以外にStrutsじゃなくてタペを使うメリットって何かある?
2)Hibernate以外のマッピングツールも使えるの?
3)これから主流になるかもしれないJSFやJSTLとかとタペの関係ってのはどうなの?

413 :
1)
(イソアクショソの受け売りだが)
・WYSIWYGプレビューを保持したまま動的コンテンツを開発できる。
・JSPコンパイル時間不要
2)むしろCayenneとの相性が良い。
3)すまん知らない_| ̄|○

414 :
タペもStrutsもあるオプソココミュが作ったフレームワークに過ぎん。
JSFやJSTLは標準仕様だからな。
そもそもの位置づけからして違う

415 :
標準仕様で実装もあるのに、使われる気配のないJDO

416 :
JDOはウンコ。

417 :
>>413
WYSIWYGプレビューってのが不要ならあんまりメリットないのかな。
GUIで開発できるってのなら別だろうけど。
>>414
だからタペでもJSFやJSTLは取り入れる方向に行くのかなと思ってね。
JSFはまだこれからだけど、JSTLはタペでは使えません。これから先もってのならちょっとね。

418 :
TapestryのいいところはHTMLとオブジェクトの世界を見事に接続しているところで、
デザインとロジックの分離はその副産物だと思ってます。
(大きなアドバンテージだとは思いますが)
逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、
さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して...
結局一番助けて欲しいところを助けてくれてない。
何のためのフレームワークなのかよくわからないところです。
フレームワークと言うものを世に知らしめた時点でStrutsの役割は終わったと思ってます。
JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。
SunはGUI作るのが下手なんで。

419 :
>>418
> さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して...
XDoclet使えば?

420 :
たしかにstruts-config.xmlの生成はxdocletに任せてだいぶ楽になった。
あれいちいち手書きしてたときは間違い多くてまいったよ

421 :
Tapestryもstrutsみたいに実行時エラーがウザイので
設定ファイルのチェックは必須かな。自分はAntを使用。
<!-- DTDレベルで設定ファイルをチェック -->
<target name="checkconf">
 <xmlvalidate>
  <fileset dir=".">
   <include name="**/*.application" />
   <include name="**/*.page" />
   <include name="**/*.jwc" />
  </fileset>
 </xmlvalidate>
</target>
これ+自作のXML内クラス名チェッカーでXMLファイル内の
クラス名を検証して実行時前に徹底的に誤りを検出してまつ。

422 :
jwcidを簡単に入れられる。WebObjectsみたいなGUIがあったらどうですか?
ドラッグ&ドロップで名前を付けることができるツールが
dream weaverのプラグインでついたりすればいいのになぁ。
結局id付けなきゃいけないような気がしてます。
もうidとか付けるのVBライクなコピー&ペーストから卒業しようよ。
とかいてみるテスト

423 :
>>420
他にコードで書いたほうが速そうなことをわざわざ設定ファイル記述してるの?
<html:message>のこと?
>逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、
ごめん。意味分からん。もうちょっと具体的に教えて。
それに対してタペのアプローチ方法も教えて。

424 :
> JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。
> SunはGUI作るのが下手なんで。
JSFはSunだけのものではないんだが。


425 :
IBMの方が先に製品版出したしな。
そして忘れられてるタペ

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

427 :
ところで、barracudaと比較したヤシはおらんのか?

428 :
http://www.sanspo.com/geino/top/gt200406/gt2004060503.html

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

430 :
Tapestry in Actionの一部がPDFで公開されているね。
ttp://today.java.net/today/2004/05/13/Tapestry.pdf

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

432 :
age

433 :
agege

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

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

436 :
(ノ∀`)アチャー

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

438 :
age

439 :
Spindle 3.0 Final ってのがリリースされてるぽいんだけど。
興味ない?

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

441 :
CD重ねるやつ?

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

443 :
>>442
Sunクス

444 :
age

445 :
>>377
ダウンロードできねえぞ。
消えやがった。きになってしまうじゃねえか

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

447 :
PGはフレームワークの選定なんてやらないが・・・。
そういう意味ではなくて?

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

449 :
やっぱり、いまいちこないのかなあ・・・。
そもそも、HTMLとして編集して、JSPとして動作させられるって言っても、
CSSのリンクとか、JSファイルのリンクとか、どうするんだろう?
ローカルで検証するときは、そのままダブルクリックして開いたファイルが見れる、
というなら便利だとは思うが、リンクは全て相対パスで書かないといけない、ということになるのか。
まあ、AタグやSubmit先が見れない、というのは仕方ないにしても、
どれほどいい感じに作成したHTMLを見れるか、というのはまず、重要だな。
それに加えて、JWCの使い勝手はどうなんだろう?
機能のカスタマイズとか簡単にできるんだろうか?

450 :
プログラマの問題だと思うよ。
JSPでもメンテナンス性の高いコードは書けるし、そうするのが現実的。
Tapestryはね、あまりに複雑で、もうそんなお遊びにはつきあってられん。

451 :
みんなシンプルなフレームワーク自作して満足してるんじゃない?
そういう俺もstrutsをさらにシンプルにしてさらにデザイナが嫌う埋め込みjspではなく
Velocityのようなテンプレートのようなものを組み込んでる

452 :
>>450
>Tapestryはね、あまりに複雑で、もうそんなお遊びにはつきあってられん。
複雑ってゆーか訳わからんことだらけなんだが。
例えば設定ファイルに関して
 ・*.applicationファイルの有無、配置場所、読み込まれるタイミング、ファイル名とアプリケーション名の関係。
 ・*.pageファイル、*.htmlの関係、配置場所。Homeという特別な意味を持つファイル名。
 ・*.jwcファイルって何をするもの?
技術雑誌で紹介されていて手を出してみたものの、導入記事毎にTapestryのバージョンやファイル構成がことごとく
異なり、さらにworkbenchを参照しても導入記事とファイル構成が異なるためパニックになり、英語のチュートリアルを
頑張って参照しても、コードとファイル名があるだけで、そのコードとファイルをどこに配置してよいのか
途方にくれ、3.0の正式版がやっとリリースしたと思ったら各種jarファイル(javassist.jar ognl-2.6.3.jar)を
かき集めなければならなかったり、workbench.warをビルドするのに手間どったりと、なかなか楽しませていただきました。
・・・・・・つーか、俺がヘタレなだけか。_| ̄|○

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

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

455 :
実験してみた。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 :
最近Tapestry-ML活発だね
http://groups.yahoo.co.jp/group/tapestry-japan/

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

458 :
>>452,>>453,>>455
strutsが集中型設定ファイル地獄なのに対して
Tapestryは分散型設定ファイル地獄ってところか。

459 :
同じ地獄なら分散の方がいいと考えてTapeな俺。 でもStrutsでも対応したんだっけ?

460 :
>>459
StrutsはXDoclet使えばほぼ解決。
タペは普及度が低いためそんなツールの対応も未だに無し。

461 :
>>460
ちなみにStruts + XDocletなら、Mavenがデフォルトで対応している。
$ maven -Dtemplate=struts genappで、Strutsプロジェクトを生成。
$ maven war:webappや、 $ maven war:warで、XDocletを適用してstruts-config.xmlを生成・ビルド。
Strutsは各種ツールのおかげで結構楽に開発できるようになった気がする。
で、Tapestry関係のツールってSpindle以外になんかないのー。

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

463 :
mavenって何に使うの?

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

465 :
>>459
1.1からはstruts-cocnfig.xmlの子供xmlを幾らでも作れる。
ども肝心要のサーバ運用管理者に
その事を知らない人が多い罠。

466 :
age

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

468 :
Pure Servlet/JSP
マンセー

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

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

471 :
age

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

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

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

475 :
>>474
いや、狼に育てられた、狼人間はいた。

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

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

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

479 :
age

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

481 :
Strutsスレを復活させた
△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/

482 :
age

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

484 :
関連プログラムのネタならあるぞ。
HiveMind 1.0-βリリースとか、
O-R Mappingフレームワークスレでの、祭りの後のCayenneの静けさとか…。

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

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

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

488 :
こっちにもおいで。
Java⇔RDBのMapping-Frameworkを語るスレ Vol.2
ttp://pc5.2ch.net/test/read.cgi/tech/1086315004/

489 :
>>484
Cayenneって、Tapestry関連なの?

490 :
WebとDBの連携やるのに、
TapestryとCayenneの相性がいいらしいって話しだろ。
ちょっと日本語資料少ないな。

491 :
>>489-490
Cayenne公式のUser's Guideに、
Tapestryへの設定の仕方の章がある。

492 :
>>491
それだったら、Strutsのもあるからなぁ。

493 :
>>488のスレに、Cayenneの日本語資料作ってくれた人が現れますたよ。

494 :
>>492
書き方が足りなかった(スマソ)
WebServiceから使われることを想定しているフレームワークで、
Strutsへの設定を章立てし説明しているプロダクトは多々あれど、
Tapestryへの設定を章立てし説明しているプロダクトはCayenneくらい?
ということ。

495 :
>>494
技術的な話題でWebServiceっていったときにはStrutsとかTapestryは当てはまらないと思われ。
いわんとすることはわかるが。
でも、Cayenne使えネっていう結論になってそうだぞ。

496 :
age

497 :
age

498 :
エイジ

499 :
あじぇ

500 :
age

501 :
@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

502 :
>>501
すいません自己解決しました.
基本的にこんなこと気にしなくて良かったんだな.
しかしいつも選択されたかどうかを示すフラグが必要になる・・・?

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

504 :
age

505 :
sage

506 :
なんか詳しい資料少ないよねぇ・・・・
一行ごとに色を切り替えて縞々模様に
なるテーブル作りたいんだけど
どうやって書けば良いんでしょ・・・・

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

508 :
age

509 :
Tapestryのおもしろい話題ないかね〜?

510 :
>>507
ありがとう
亀レスになってしまった
英語苦手ながら一通り呼んでみたのだけど,
縞々のリストは最初のサンプルに提示してる画面だけで,
その後チュートリアルとして実際作り出したら背景色なんて
気にしてないみたい…多分.
漏れの英語力が著しく欠如してるのかもしれないけども
とりあえずその問題は参照するたびにTrue/Falseが切り替わる
プロパティで何とかすることにしたよ…なんか納得いかないけど….
で,新しい疑問がでてきてしまったんですが
HTMLのプロパティに可変値を設定したいときはどうすれば良いのだろう
可変長リストの左側に柱をつけたいときとか
<td rowspan="xx">
とかやるよね.xxを件数に応じて帰る必要があるんだけども
どうやって指定すれば良いのか・・・.
OGNLかとおもったけど違うみたいだし

511 :
>>510
ああ,Anyだったか・・・・?
すいません,上記のrowspanの話は自己解決しました.(良いやり方なのかどうか知らんが)
ちなみに *.pageに以下を定義(hogeCollectionは適当なコレクション.sizeは長さ)
<component id="verticalLine" type="Any">
<binding name="rowspan" expression="hogeCollection.size"/>
</component>
*.htmlのほうで
<td jwcid="verticalLine" >
としました.
お騒がせしました.

512 :
さて、HiveMindがRCになったわけだが。

513 :
>>512
何それ?

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

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

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

517 :
age

518 :
あげ

519 :
age

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

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

522 :
>>361

523 :
JavaScriptをTapastryScriptで記述するのって手間じゃないですか?
JavaScriptで画面遷移の制御している画面では書き換えが面倒な気がします。
ちなみに、TapestryScriptを使用するとHTML画面でのJavaScriptチェックはできなくなりますよね?

524 :
これからはYSFですよ。

525 :
>>524
YSFとS2JSFが一緒になるらしい。
9/9の日記参照
http://d.hatena.ne.jp/higayasuo/
どっちでもいいが、使いやすくしてくれ。

526 :
FRAMESETの使い方教えてください。

527 :
age

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

529 :
真っ黒メディアFLEXは?

530 :
>528
3.1で対応する、とMLにあった。

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

532 :
flexって157万か・・・

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

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

535 :
age

536 :
age

537 :
Tapestryのコンポーネントをパレット表示するEclipseプラグイン
http://www.behindthesite.com/blog/C1931765677/E1305840788/index.html

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

539 :
Tapestry3.0.1が近いね

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

541 :
>>540
Tapestry3.1はまだだろ!どこの情報だ???

542 :
age

543 :
age

544 :
age

545 :
age

546 :
Tapestry3.0.1出たよ

547 :
age

548 :
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 で使いたいのですが。

549 :
>>548
呼出しが setFoo, hogeAction の順なら、foo の内容を hogeAction で
使えるような気がするんですが、"bar の内容を hogeAction で使いたい" の
書き損じでしょうか...?

550 :
>>549
typo でした。
「bar の内容を、 hogeAction で使いたい」が、やりたい事です。
誰か教えてage!

551 :
>>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 :
タペストリーでhttpsで接続するにはどうしたらよいでしょうか?
例えばcycle.activate( pageA );としてpagaAを表示する際にhttpsで接続するにはです。
やっぱりweb.xmlに記述するんですかねー? その場合の記述方法は?

553 :
RedirectExceptionでhttpsなURLにリダイレクトするというのは駄目?

554 :
TiA本を読み終わっての、Tapestryのいい所といまいちな
感じの所をつらつらと。
いい所:
デザイン完全分離、コンポーネント、ドメインロジックとの
容易なグルーイング、アセット管理、イベントベース処理、OGNL
いまいち?:
直感的でないフォームのwinding/rewinding、認証サポート、
クライアントサイドスクリプトのサポート
どっちとも言えず:
バリデーション
かなりというか Struts みたいな原始的なのと比べるのが
馬鹿らしいほど高水準な割に、見通しも悪くなくて結構好みな感じ。
コンポーネントも結構簡単に作れるから、自前コンポーネント
ライブラリの整備も結構急ピッチにできそう。

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

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

557 :
>>361

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

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

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

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

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

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

564 :
.page や .html を、.application と同じディレクトリにずらずら並べないで、
アプリケーションの機能ごとにディレクトリを作ってその下に置いた場合、
.application で
<page name="Pagename" specification-path="/path/to/Pagefile.page"/>
を沢山書かなくてはダメですか?
<a jwcid="@PageLink" page="/path/to/Pagefile.page">aaa</a>
って書きたい…。

565 :
>>564
そのとおりなので、Tapestry は欠陥品。
ちなみに
requestCycle.activate("path/to/Pagefile");
となら書ける。謎。

566 :
ハローTapestry Fun!
TapestryのPageLinkクラスを修正して、
<a href="Hoge.html" jwcid="@PageLink">gotohoge</a>

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

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

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

569 :
>>106
Aceはどこ行った?

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

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

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

573 :
age

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

575 :
>>574
マネージャ1人、プログラマー5人、デザイナーは外部なのでわからずです。

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

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

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

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

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

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

582 :
age

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

584 :
age

585 :
コンポーネントの in-out なプロパティの大半は String とかプリミティブな型わけで、
getHost して setHoge されますね。(そうせざるを得ないわけですが)
MultiplePropertySelection の selectedList プロパティは、
型が List で Direction が in-out なんだけど、getHogeList で List を取って、
そのリストを書き換えてしまう。setHogeList が呼ばれない。
確かにその方が効率的。
で、これに気がつかなかったわけで、しばらく嵌ってしまった、という話でした。

586 :
age

587 :
age

588 :
>>361

589 :
age

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

591 :
age

592 :
>>590
一応DreamWeaverMX以降でHomeSiteの機能が統合されているけどね。
重さという意味では比べものにならないな。値段も(以下略)。
英語版は開発続行らしいから、英語版買うというのもあり。
まぁこの業界、DWは使いこなせると損にはならないから、
割り切って乗り換えるのも手かも。
http://www.macromedia.com/jp/software/homesite/
TapestryなHTMLを書きやすいタグ補完とかほしいもんだけど、
どこかにないのかねぇ。

593 :
>> 592
そういえば、Intelli-JがTapestryに対応していたような。

594 :
>>592
これじゃだめ?
ttp://www.behindthesite.com/blog/C1931765677/E1305840788/index.html

595 :
>>594
ツッコミがくることを承知で書くが、とてもデザイナさんにEclipse入れて
その上でHTML書け、なんて言えない(汗)。
DWかGoLiveのExtensionみたいな形で使えればベターなんだが。
埋め込みくらいプログラマがやれって話もあるが、動的表示要素が
ほとんどなページとかだと、ある程度埋めてくれないとうざくて
やってられないー。

596 :
埋め込み作業はバイト君にやらせたいね

597 :
>> 595
たしかに、Webデザイナーとの分業を考えるのであれば、
DWとかにadd-onであってほしいですね。
そうすると少しは普及速度があがるかな。。
っていうかその前にドキュメントの充実が先って気がするけど。

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

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

600 :
>>361

601 :
HiveMind-1.1 alpha が出たわけだが

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

603 :
サクヤが同じ

604 :
age

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

606 :
(Tapestryではなく)Cayenne のサンプルの中に、Blogサンプルがあったよ

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

608 :
>>155
http://www.saisse.jp/pukiwiki/pukiwiki.php?Tapestry%2FTips#disable-caching
でどうでしょう?

609 :
Tapestry使ったコンテストがあるんだね。
誰か参加してるヤシいる?
賞金100万円いいよな。
http://www.dena.ne.jp/other/index.html

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

611 :
Tapestry 3.0.2 Released

612 :
新たな中途リアル
ttp://www2.cpttm.org.mo/cyberlab/softdev/tapestry/

613 :
The ServerSide.com(TSS)はTapestryで
リライトされたらしいよん。既出かな?
ttp://www.theserverside.com

614 :
> 613
これだな。
ttp://www.theserverside.com/articles/article.tss?l=TSSTapestry
TSSは結構有名でアクセス数が多いサイトなので、このサイト構築に耐えられた
(HLS自らがリライトした?)というのは、Tapestryの良い事例になった訳だ。

615 :
Spindle 3.1.16(unstable)が出てる。で、Tapestry 3.0.2 が含まれているみたい。
ttp://www.jroller.com/page/glongman/20050217#spindle_3_1_16_now

616 :
そしてNHL公式サイトは、
このまま無かったことにされそうな悪寒

617 :
> 616
何の誤爆?
それはともかく、JavaWorldで3号連続で連載していた「Tapestryの全て」がWEBで掲載されている。結構分かりやすい。
ttp://www.duo.co.jp/column/index.html

618 :
作者、語ってます。
ttp://www.theserverside.com/talks/index.tss

619 :
日本語で語らないから日本で普及しないんだよ。

620 :
>>619
そのわりに Seasar は普及しないな。

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

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

623 :
age

624 :
>>617
遅レスだが、NHL公式サイトはTapestry制だったらすぃ

625 :
age

626 :
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 :
ageますよ。
ttp://howardlewisship.com/blog/
次期Tapestry(Picasso)は、Ver 4.0になるそうな。

628 :
>>361

629 :
age

630 :
4.0αage

631 :
http://y130200.ppp.dion.ne.jp/
www
ww
うはっwwww
っうぇwwwwwwおkwww
おkwwwっうぇwっうぇうぇwwwうはっwww
うぇwwwうぇwwwっwwwwwwwwwwww

632 :
TapestryでFrameってどうやって使うの?

633 :
ビジュアルエディターってあるの?

634 :
>>633
Tapestryの良いところは、普通のHTMLエディタでTapestry用のVIEWを
作成できる事なんで、お好きなエディタを使えばいいんじゃないでしょうか。
それともObjectとのマッピングまでGUIで作成できるように
したいって事?(Spindleの機能じゃ足りない?)

635 :
連投でごめん。最近の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 :
Tapestry Palette
ttp://tapestrypalette.sourceforge.net/

637 :
Tapestryは1つのjwcidに対して複数のコンポーネントを適用できますか?

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

639 :
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 :
日本語資料のまとめキボン

641 :
>>361
たしかに普及したライブラリはすべて日本語の資料がどこかにはあるからなぁ

642 :
>>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 :
4.0 Beta 2

644 :
4.0 Beta 3

645 :
Tapestry 4.0-beta-4の報告もないってことは、tapestryはこれにて終了ってことで。

646 :
けど、Spring フレームワークの開発者はこれから注目すべき
フレームワークの中に Struts2 と並べて Tapestry を挙げていた。
盛り上がってないのはもしかして日本だけ?

647 :
原因は>>361

648 :
http://jakarta.apache.org/site/news/news-2005-q3.html
ちゃんとTapestry 4.0-beta-4(とHiveMind 1.1-beta-3)について書いてあるがな(´・ω・`)

649 :
>>648
いや、>>643でBeta2の報告、>>644でBeta3の報告の書き込みがあって、なんでBeta4の書き込みがなかったのかと。
で、4.0Beta5がリリースされた訳だが。
誰かリリースノートとか日本語に訳してくれないかな……。

650 :
そしてついでにドキュメントを

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

652 :
Tapestry 4.0-beta-6 released

653 :
Tapestry 4.0-beta-7 released

654 :
betaの使用感とかはだれも書かないのね。

655 :
>>654
言い出しっぺ乙

656 :
つかってないも〜ん

657 :
♪首から下は〜 Howard Lewis Ship

658 :
4.0-beta でアプリを開発し始めた者です。
3.0のころに比べると、ページをサブディレクトリで管理できたり、
生成されるURLがシンプルになったりいい感じです。
50画面くらい作りこみましたが、とりあえず実用上の問題はなさそうです。
あと、4.0に限らないけど、
htmlテンプレートをキャッシュしないようにして開発すると
動作がもっさりもっさりして厳しいですな。
ページの作りこみはトライアンドエラーの作業が多いから
これは開発効率にダイレクトに響きます。

659 :
ttp://www.agileskills2.org/EWDT/
Tapestry 4初の解説本。1-4章が無料でダウンロード可

660 :
>>361

661 :
5人で開発するとして、2人くらいは英語のドキュメント読めても残りの3人は日本語じゃないと読まないんだよね。
しかも、英語が読めるやつは手探りでだいたいの使い方をわかったりするからドキュメント自体があまり必要なかったり。
日本語しか読めない開発者ほどドキュメントを必要とするんだよね。

662 :
Tapestry 1.1-beta-8 Released

663 :
概要でも日本語化されていれば日本語しか分からなくても
ソースコード見て納得できるけど
なにもわからず手探り状態だと厳しい
それに英語読めるといっても日本語と違って斜め読みまでできるやつはそう多くない
膨大なドキュメントから特定の場所を探すのはむずかしい

664 :
いつまでベータ版なんじゃ、ゴルァー

665 :
4.0正式リリースは年末くらいじゃない?
このあとまだRCシリーズが出るはずだし。

666 :
Tapestry 1.1-beta-9 Released

667 :
>>662 >>666
Tapestry 1.1ってなんじゃぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ

668 :
だって Jakarta のトップページが。

669 :
きっともうHoward Lewis ShipもHiveMindのことでいっぱいいっぱいなんだよ

670 :
Tapestry 4.0-beta-10 Released

671 :
なんかTapestry4.0のドキュメントを翻訳をしてる人がいるみたいだね。
でも最終更新は2005/06/23か。
非公式ユーザーリファレンスもWikiも更新止まってるみたいだし、こちらにも期待したいところなんだが……。
ttp://www.javable.jp/notes/tapestry.html

672 :
Tapestry 4.0-beta-11 released

673 :
FaceletsがあればTapestry要らなくなる?

674 :
Faceletsの開発者による紹介記事の日本語訳
ttp://homepage1.nifty.com/algafield/facelet-ja1.html

675 :
つか、S2JSFが滅亡

676 :
で、ぶっちゃけ戦闘力の方はどうなのよ。
コンポーネント開発ってIDEの能力が大きいからなぁ

677 :
ぶっちゃけたぺも日本語資料が大量に出ていたらそれなりに普及はしてたはず

678 :
タペって企業がバックにいたりしないの?
Strutsって結局Sunがバックにいたからあんなヒドい作りなのに広まったんだよね。

679 :
Strutsとsunは関係ねーべ

680 :
開発者はSunの社員

681 :
社員であることとバックアップとは関係ねーべ
JSFならSunと関係があるが

682 :
結果を見ると、関係があったといえるんじゃないかと。
JSFみたいに組織的なバックアップはしてないけど、バックにサンがいることは大きいかったと思う。

683 :
IBMとNTTじゃなかったっけ?Strutsをバックアップしてたの

684 :
Tapestryって、そういう噂レベルでもいいから企業が後押ししてるっていうのないの?

685 :
Tapestry 4.0-beta-12 released

686 :
作者BLOGに、OGNLを使わないように変更すると10倍速くなるってのが載ってる。
まあベンチマークなんで、本番環境の数字とは違うんだろうけど。

687 :
Tapestry 4.0-beta-13 released

688 :
ApacheConからハブられた件

689 :
Tapestry 4.0-beta-14 released

690 :
ってか、WebWorksもStrutsに参加して、HTMLテンプレートとしてWicketが流行ってて、標準フレームワークはJSF+EJB3で、Tapeってどういう位置付けになるの?

691 :
質問なんですけど、
Tapestryの開発って、.htmlを変更したのを反映させる方法って、
Tomcat(コンテナ)を再起動するしかないんですかね?
server.xmlのreloadable設定も効かないみたいだし…。

692 :
>>691
-Dorg.apache.tapestry.enable-reset-service=true

693 :
>>692
サンクス。
これでInspectorButtonを使うのですね。

694 :
ちょっと前だけどJSFとTapestryの比較記事があった。
ttp://www.theserverside.com/articles/article.tss?l=JSFTapestry

695 :
Tapestry 4.0-rc-1 released
やっとこさRCキタ

696 :
Tapestry 4.0-rc-2 released

697 :
Tapestry 4.0-rc-3 released

698 :
↑Tapestry 4.0 の命運

699 :
> 698 : 【大吉】 :2006/01/01(日) 01:40:59
ばっちりだな

700 :
E・∇・ヨノシ <700ゲット♫

701 :
DirectLinkだけで間に合うと思うのですが、
ActionLinkを使った方がいいケースってありますか?

702 :
Tapestry 4.0 Released

703 :
>>702
やっときたか

704 :
>>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 :
リリースされたら話題が途切れるって、
誰も使ってないんじゃ……

706 :
ヒント:年始休暇明けでテライソガシス

707 :
ヒント:Tapestry使いはいつもイソガシス

708 :
使ってるよ。
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 :
http://pcweb.mycom.co.jp/news/2006/02/23/365.html
デザイナとのやり取りを考えればStrutsやJSFなんて目じゃないのに
日本語資料がないだけに流行らんね
結局>>361

710 :
TapestryってTomcat無くても動くの?

711 :
Resinとかで。

712 :
Tapestry 4.0.1 released

713 :
OGNL自体の解説サイトってないですかね?

714 :
http://www.ognl.org/ じゃダメですか?

715 :
ありがとう。
具体的なサンプルコードが見たいんだけど、
探してもあまり無いんだよね。。。
とりあえずこれまで探した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 :
相棒のCayyeneはどうなってますか?

717 :
TapestryってStrutsと統合して使用できるの?
ActionとかActionFormは使うけど、ビューはHTMLのまま(JSP使わない)というような感じに。

718 :
>>717
無理です。Tapestryの構造は、プレゼンテーション層だけを切り離して使うことはできません。
Strutsと統合したいならSeasarプロダクツをお使いください。

719 :
S2Containerを介して両者を連携させるなんて余計ややこしいことになりそうなので現実的ではないな。

720 :
>>719
Mayaaなら、S2Containerとは関係なく使えるよ。

721 :
S2信者うぜえな

722 :
Mayaaは実装上S2とは関係ないからS2非信者でもおっけ。
ホームページも独立してるしね。

723 :
>>717
strutsのコントローラーを使いたい、だけどJSPは嫌だ。
君の言う趣旨がそーゆーことなら、Freemarke、あるいは
velocityをviewに採用するというのが一番素直な方法だと
思う。
スレ違いスマソ

724 :
21 June 2006 - Tapestry TLP move
Tapestry has moved to a TLP at its new address, http://tapestry.apache.org.

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

726 :
それだと日本とそれ以外とで違う理由にはならないような……。

727 :
>>725
IT業界とかJavaとか、そんなんが流行ってないような。

728 :
浮上

729 :
age

730 :
StrutsやJSFは捨ててこっちに移ることにした。
疎結合マニアの俺としては、あれらは肌に合わない。
デザイナに「はぁ?何そのルールw」とか
いわれることを想像すると泣きたくなっちゃうしね。

731 :
age

732 :
ゴメス チェンバレンです・・・
4.1から、unstableの文字が、取れたとか取れないとか・・・

733 :
Tapestry 101 is now available!
http://tapestryjava.blogspot.com/2006/12/tapestry-101.html

734 :
来年の今ごろも新スレ移行してはいないよかん

735 :
これとかWicketの方がVisual Web Packに向いてると思ったんだけど
それっぽいツールとか出てないのかい?for HomepageBuilderみたいな感じで。

736 :
tapestry5のPreviewが出ていたけどどうなん?

737 :
>>736
かわいそう

738 :
>>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 :
Tapestry5最高!

740 :
何がどう最高なの?
いまやStrutsどころかJSFやSeasar2がでてきて
わけわかめな俺によさを教えてくださいな

741 :
うーむ、スレがたってから3年も経っているのか。
当時、これをネタに卒論で研究している香具師いなかった?

742 :
>>10
はじめ何のことだかぜんぜんわからなかった。
ディスクシステムか!
なんでそんなもんが!
ぐぐったら意味不明なクソゲーだ
ゲーム内にtapestryという単語がでてくるわけね
立花理沙って誰だ?

743 :
age

744 :
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 :
>>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 :
>>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();
    }
  };
}

747 :
>>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に戻してたんだけど、そういうことだったのか。

748 :
Last Published: 29 Mar 2007
@Inject使用方法変更
@Path,@Serviceアノテーション追加

749 :
Tapestry5.0.4
http://people.apache.org/~hlship/tapestry-releases/

750 :
age

751 :
age

752 :
Tapestry5.0.5
http://people.apache.org/~hlship/tapestry-releases/

753 :
寂れてるけど一応書いとく。
@Meta("tapestry.response-encoding=Shift_JIS")
をページクラスにアノテーションすれば良くなったので、
AppModule.javaいじる必要なくなった。

754 :
apache projectにturbine、tapestryとあるけど、
それぞれどう違うの?
両方ともプレゼンテーション層のフレームワーク?

755 :
Tapestryで、WicketとかTeedaみたいに
HTMLとロジックを完全に分離してしまう事って可能ですか?

756 :
WicketとかTeedaがTapestryみたいにHTMLとロジックを分離できる。じゃないのか?
そしてTapestryはWebObjectみたいに・・・となるわけだが。

757 :
>>756
確かにTapestryの方が「生HTMLっぽいTemplate」を使う考え方は
早かったかもしれませんが、WicketやTeedaほどキレイに分離できるのでしょうか?
テンプレートとして使用するHTMLが、
それ単体でブラウザから見ることができるのか?
というとこまではできそうに無いなあ、と思っているのですが。

758 :
>>757
それは普通にできるでしょ。それらコンポーネント方式組はほとんど兄弟。
正直、
・デザインテンプレート部分
・裏側のコンポーネントモデル
・それらを結合させるグルー言語
は標準化して、エンジンがJavaで書かれてようがなんだろうとOKにして
欲しい。汎用言語と違うグルー言語記述を導入した時点でベースエンジンから
完全に切り離し可能になってるわけで。

759 :
「〜ほどキレイか」という部分については、Tapestryの方が今となっては
シンプルさに劣ると思うけど、それはHTML/ロジック分離の所にはあんま
影響してないと思う。

760 :
>>758
Tapestryでもキレイに分離できるのですか、勉強不足ですいません。
BeanEditFormのサンプルとかを見て、
input タグとか書いてないのに入力formが生成されてるとは何事か!
とか思ってました。
ちなみに、Wicketでも WicketWebBean なるものが
A Wicket Diaryで紹介されてましたね。

761 :
Tapestry5を使ったサイト「TheDailyTube」
http://www.thedailytube.com/bestoftoday

762 :
いつのまに5まで!

763 :
5.0.6

764 :
http://www.kensayoyaku.mlit.go.jp/CarAnswer/app
国交省の車検予約しようとしたら偶然見つけた
HTMLのソースを見るとTapestry使ってるっぽい。
それにしてもTomcatモロ出しとは。。。

765 :
作った奴このスレ絶対読んでるだろ。
小規模案件だから実戦体験を兼ねて使ってみたのかな・・・

766 :
JSF2.0の策定にTapestryの中の人が誘われてるって話はどうなったんだろう。
中の人はアンチJSFらしいけど、ことがうまく運べば素晴らしい相互運用性が得られるね。

767 :
>744はShift_JISで書かれたテンプレートをtapestryに読み込ませる方法で
>745以下はresponseのエンコード指定方法だよね?
>744の問題のほうだけどどう解決しようか
思いつくのは、
1、おとなしくUTF-8でテンプレートを書く
2、<?xml version="1.0" encoding="Shift_JIS" ?>とテンプレートの先頭に書く
3、TemplateParserImplのコードを書き換えるorAppModuleあたりで
TemplateParserのサービスを自分実装のものに置き換える

768 :
>>767
普通に2でしょ。
あと>>745のは5.0.5から必要なくなってる。
@Meta("tapestry.response-encoding=Shift_JIS")
とページクラスにアノテーションすればレスポンスはShift_JISになる。

769 :
5.0.11age

770 :
>>766
ソースは?

771 :
Tapestryが使われている日本語のサイトはあるのか?
特にTapaestry5

772 :
>>771
764にあがってる国交省の車検予約。
5ってまだベータだよね?さすがに無いんじゃね。

773 :
tapestry5.0.15がリリース。
まだベータだが。

774 :
Tapestryが日本で使われない理由はやはり>>361ですか?
自分が働いている企業は主にTapestry4.1-hibernateを使っています。
学生でもあるので卒業後日本に戻る気ですがTapestryでは仕事もらえそうにないですね。
個人的に好みなのに。残念。

775 :
4→5の動き方が気になりすぎて選択できない

776 :
まだリリースされていないけどTapestry5は行けていると思うよ。
Wicketに比べるとコード量もだんぜん少ないし。
やはり日本語ドキュメントが無さ過ぎる感じがする。
ttp://kuramo.ch/tapestry5/ja/
にがんばってもらいたいのだが...

777 :
>>776
しばらく止まってしまってたが、またがんがるぜ。
ちょうど今、日本語訳を5.0.15に更新したところだ。

778 :
Tapestry5ではAjaxが異常に簡単だぞー
スクリーンショットを見ればすぐわかるぞー
ttp://tapestryjava.blogspot.com/2008/11/tapestry-5-ajax-screencast.html

779 :
Tapestry 5.0.16 (Release Candidate)がリリースされた。
だれか
ValidationMessages.properties
Errors.properties
...
をローカライズして送ったれ。

780 :
>>361
>>774
T5のサンプルを見れば英語に自信がなくても作れるだろう
http://jumpstart.doublenegative.com.au:8080/jumpstart/

781 :
GuiceとSpringどっちと相性いいの?

782 :
Tapestry 5のコンポーネントの拡張例
ttp://87.193.218.134:8080/t5c-demo/

783 :
>>779
おk。俺がやっとく。
あと BeanEditForm, GridColumns, GridPager, Palette あたりもかな。
どうせデフォルトのまま使うことってあまり無いし別にいいじゃん、とか思ってたけど
結構たくさんの言語にローカライズされてんのね。

784 :
>>781
Tapestry5は独自にTapestry IoCのがあるから、
Guice、Springは使う必要性がない。

785 :
Springとはtapestry-spring使えば簡単に連携できる。
Guiceとの連携はだいぶ前にMLで話題になってたようだけどよくわからん。
>>784
必要性がない、は言い過ぎではないかしら。

786 :
Tapestry5.1はリリースされているTapestry5.0.8と比べて何が良いかな?

787 :
Tapestry5の資料
http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7545

788 :
Tapestry5.0.18の日本語の情報がなさすぎだ

789 :
>>788
ttp://kuramo.ch/tapestry5/ja/
はどうだ?
5.0.18に対応していなが良く訳している。十分だろう。

790 :
Tapestry5の勉強会をするらしい。
ttp://d.hatena.ne.jp/yone098/20090321/1237731138

791 :
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 :
■Google、AppEngineでJavaのサポートを開始■
http://jp.techcrunch.com/archives/20090326get-ready-for-java-on-appengine/

793 :
>>792
きたー
Tapestry5万歳!

794 :
>>793
AppEngineってTapestryなの?

795 :
flockというRSS ReaderがTapestryで作られていた。

796 :
flock設置してみた
http://flock.morphexchange.com/

797 :
自動焼人 ★ = 自動保守 ◆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 :
弾幕薄い

799 :
2011年にようこそ(本当に流行らなかったな・・・

800 :
wo事態が消えちゃったからな。

801 :
↓↓↓
「「「「「「「 ■Google、AppEngineでJavaのサポートを開始■ 」」」」」」」(キリッッッッ!!!キリッッ!!!!!!
↑↑↑(キリッッきリ!!
ゴミって意味わかってんのかなこいつら

802 :
>>794
↑↑↑ハッアアアアアアアアアアァアァアアァアアアアアアアアァアアァ??????????????
よゴミ
ゴミグラマって気持ち悪いんだな

803 :
sage

804 :
Apache的には、Apacheプロジェクト内のJavaのWebフレームワークって
何が本命なのかね

805 :
k

806 :
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 :12/06/24

1000 :uy ◆xVOGOO9ev6 :2012/06/23(土) 12:35:29.68
俺は動的言語の問題点をいくつあげてもwwwww
静的言語よりはマシだと確信してるわwwwwwwwwwwwwwwwww
静的言語の問題点をなぜ挙げないかって??
見放してるから、問題点を指摘さえしないってことだよwwwwwwwwwww
気づけバカwwwwwwwwwwwwwww
TOP カテ一覧 スレ一覧 2ch元 削除依頼
3Dアルゴリズム全般 (427)
Kinect ハック (973)
【node.js】サーバサイドjavascript【Rhino】 (816)
おまいら最強のシストレFXプログラムをしてみろよ (391)
圧縮・復元 相談室 (873)
音声合成プログラムを作りる (316)
--log9.info------------------
今野敏 第3班 (442)
新刊紹介スレッド(海外編)part7 (693)
僕は犀川創平だお ぱーと3 (321)
ミステリーのタイトルしりとり (276)
【水槽薀蓄】汀こるもの【完全犯罪】その2 (216)
フロスト警部part5 (235)
法月綸太郎スレッド その5 (251)
☆桐野夏生・新津きよみ・小池真理子☆ (202)
恩田陸part13 (533)
かっこいい探偵の登場の仕方 (353)
鯨統一はどうですか? (284)
$$$ 西村京太郎 part8 $$$  (848)
似鳥鶏 (473)
一昔前の面白いミステリ教えてください (211)
/佐藤友哉 クリテロブン投げ23回目/ (701)
コージーミステリー Part4 (617)
--log55.com------------------
Immunet Protect - Free!
踏んでしまったブラクラを貼るスレ
【ぱよぱよ】F-Secure総合 Part35【ちーん】
ニッポンの最強セキュリティソフト「Mr.F」
【オープンソース】ClamWin Antivirus part2【フリー/クラウド】
スパイウェア削除ソフトAd-Aware AE その4
【作者】がんばれNEGiES part4【失踪】
【スマホ】avast! free mobile security