Tapestryについて語ろうよ!at TECH
Tapestryについて語ろうよ! - 暇つぶし2ch2:デフォルトの名無しさん
03/10/31 01:40
まずそれについて簡単な説明ヨロ!
期待してるぜ!

3:デフォルトの名無しさん
03/10/31 01:40
>>1
《The Jakarta Project》
スレリンク(tech板)
じゃあかんのか?

4:デフォルトの名無しさん
03/10/31 02:46
Velocityとの併用はできまっか?
JBOSSとの併用、
Turbineとの併用、JSFとの併用もできまっか?

5:デフォルトの名無しさん
03/10/31 10:19
マルチポ (ry

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

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


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

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


8:Ace
03/10/31 23:38
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:デフォルトの名無しさん
03/11/01 15:54
おいらも詳しく知りたいな。期待してるよ

10:デフォルトの名無しさん
03/11/01 17:27
リサの妖精伝説だな。

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


12:デフォルトの名無しさん
03/11/02 18:06
Tapestryって日本で使ってるやついるの?
いいサイト教えてくれ!

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

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

14:デフォルトの名無しさん
03/11/02 18:50
>>3
同意

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

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

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

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

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



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

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


18:15
03/11/02 19:43
>>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:デフォルトの名無しさん
03/11/02 20:11
>>18
ちょっとずれてしまうが
Webフォームとどうやって連携するの?
TapestryつかうとStrutsとか当然使えないと考えての質問です
共存は出来ないんでしょ?


20:Ace
03/11/02 23:22
Tapestryリンク

●●●メイン●●●
○Tapestry本家
URLリンク(jakarta.apache.org)
○Spindle(Tapestry Eclipse Plugin)
URLリンク(spindle.sourceforge.net)
○Tacos(Tapestry Component)
URLリンク(tacos.sourceforge.net)
●●●書籍●●●
○JAVA World 2003年12月号
URLリンク(www.idg.co.jp)
○WEB+DB PRESS Vol.16
URLリンク(www.gihyo.co.jp)
○Tapestry in Action
URLリンク(www.manning.com)
●●●作者解説サイト●●●
○Beginning Tapestry
URLリンク(jakarta.apache.org)
○Tapestry-WebTech
URLリンク(tapestry.sourceforge.net)
○Designing Tapestry Mega-Components
URLリンク(www.onjava.com)
●●●個人解説サイト●●●
○うえやんのページ
URLリンク(homepage3.nifty.com)
○Tapestry Tutorial
URLリンク(tapestry-tutorial.cloudnine.net.nz)


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


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

24:デフォルトの名無しさん
03/11/03 20:48
Tapestryマンセー

25:デフォルトの名無しさん
03/11/03 22:02
まぁ、WebObjectsのWOFのパクリなわけだが、
WOは嫌いではないので期待してはいる。
いいんじゃないかい、これ。

26:デフォルトの名無しさん
03/11/04 00:09
>>22
出版するには期待しないけど、
ちゅうーかやるなよ。
Tapestryについてかたるのは、OK

27:デフォルトの名無しさん
03/11/04 09:22
早く本出せるようがんばれよ!期待してるぜ

28:デフォルトの名無しさん
03/11/04 09:26
ところでTapestryはサーバーサイドプログラミングの
「WEBプログラミング」板の方がいいんじゃないの?
URLリンク(pc2.2ch.net)
板違いモゲホゲ

29:デフォルトの名無しさん
03/11/04 18:36
で、Tapestryは本当にWeb限定なのか?

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

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


31:デフォルトの名無しさん
03/11/05 01:00
>>30
開発スピードは変わらないと思われ。
変わると思うなら根拠を述べよ。

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

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

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


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

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




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


36:デフォルトの名無しさん
03/11/05 23:12
>>32
なんだ。
技術を習得する噺家。
あんなもん、三日あれば理解できるだろ。
基本的なこと以外は、コンポーネントの設定の話だから。

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

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

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

37:デフォルトの名無しさん
03/11/06 00:27
36に賛成!

38:デフォルトの名無しさん
03/11/06 00:37
ドリってなによ?

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

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


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

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

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



41:デフォルトの名無しさん
03/11/06 01:00
とりあえず、英語のリソースを翻訳することから始めよう。

42:デフォルトの名無しさん
03/11/06 01:11
…と思って見に行ったら、いきなりTutoriaとDeveloper's Guideがout of dateだったよ。

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

45:41
03/11/06 01:21
>>44
俺宛のコメント?
俺は要らないよ。英語読めるから…

46:デフォルトの名無しさん
03/11/06 01:38
>>20
> ●●●メイン●●●
> ○Tapestry本家
> URLリンク(jakarta.apache.org)
をみるとJavaScriptを使ってメリットを力説しているみたいでワラタ

URLリンク(jakarta.apache.org)
>「タペストリーは、JSF、支柱(struts)およびその他同種のもののようなフレームワーク
>からの鼻水を殺そうとして襲います」
>私が働く会社はカナダ研究協議会と研究計画を行いました。
>>また、私たちは、私たちが行っていた技術的な危険計画のための
>ウェブ・サービス、J2EEおよびデータ・ベース・システムを調査して
>数か月を過ごしました。それから、私たちは3つのものを学習しました:
>ウェブ・サービスは未熟でした。

この引用記事を見るとかなり宣伝しているみたいだね。
他のプロジェクトに比べると異様なほど宣伝が多いのはなぜだ?
Tapestryで商売でもやってるん?

HTMLやXMLに限定することからJava以外にもどんな言語にも使えるんだね。

47:デフォルトの名無しさん
03/11/06 02:09
宣伝?

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

49:デフォルトの名無しさん
03/11/06 11:25
>>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:デフォルトの名無しさん
03/11/06 12:46
それではカスタムタグライブラリの立場が・・・・・


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

52:デフォルトの名無しさん
03/11/06 16:12
>>36
お前開発者なのか?
>三日あれば理解できるだろ。
3日ってなによ?3日も時間費やしてなんとも思わないの?

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



54:デフォルトの名無しさん
03/11/06 16:45
役に立つかたたないかは人による

55:デフォルトの名無しさん
03/11/06 16:50
>役に立つかたたないかは人による
その程度のもの偉そうに取り上げて欲しくないね

56:デフォルトの名無しさん
03/11/06 17:24
たとえばどんな?

57:デフォルトの名無しさん
03/11/06 17:37

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

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

58:デフォルトの名無しさん
03/11/07 00:50
>>57
へえー。
昨日、今日使ってどうなんて関係無いだろ。
別にTapestryまんせーでもないよ。
これまで、JSPとHTMLの変換で大変だったから、
こういうアプローチだとうまくいくのかと思っただけ。

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

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

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


61:デフォルトの名無しさん
03/11/07 02:21
2chブラウザがかってに置き換えた?
&を &amp; 
>を &lt;
<を &gt;
とかにおきかえるってことで



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

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

63:デフォルトの名無しさん
03/11/07 02:42
しかしどこかでエスケープを気にしなければならない部分があると思うのだが
どこなんだろう?

64:デフォルトの名無しさん
03/11/07 09:52
JSP vs. Velocity
URLリンク(www.jajakarta.org)
XMLC vs. Velocity
URLリンク(www.jajakarta.org)

こういう比較のTapestry版があったらよろ

65:デフォルトの名無しさん
03/11/07 14:08
age

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


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

68:デフォルトの名無しさん
03/11/07 20:36
age

69:デフォルトの名無しさん
03/11/07 21:29
>>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:デフォルトの名無しさん
03/11/07 21:31
>>66
うちの会社はデザイナーいないよ。
外注先デザイン会社の営業の人とは話するけど、
デザイナーとは直接コンタクト取れないね。

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



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

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

74:デフォルトの名無しさん
03/11/08 03:54
しかあし、たとえばこんなことをやりたいときは?
ボタンタグにヴァージョン番号をつけるんだ。

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

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

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

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

76:デフォルトの名無しさん
03/11/08 19:09
age

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

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

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

79:デフォルトの名無しさん
03/11/10 01:54
>>71
次はいつかな?

80:デフォルトの名無しさん
03/11/10 02:26
>>71
俺も早く見たい。入門講座

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

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

82:デフォルトの名無しさん
03/11/10 23:27
>>71
俺も期待してるよ!

83:デフォルトの名無しさん
03/11/11 01:58
>>81
simteecプラグインの間違いだった
URLリンク(simteec.aluepke.de)

84:デフォルトの名無しさん
03/11/11 20:30
>>71
今晩あたりかな?w

85:デフォルトの名無しさん
03/11/11 23:01
>>81
TapestryとVelocityはまったく別のものだよ。

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

86:デフォルトの名無しさん
03/11/12 00:47
やはりWeb用にしか使えないのか?

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

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

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

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


88:デフォルトの名無しさん
03/11/13 02:03
もまいら、もちつけ

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

89:デフォルトの名無しさん
03/11/14 02:27
>>88
簡単Velocityはクソだったらしいな・・・。

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

90:デフォルトの名無しさん
03/11/14 12:39
>>88
>>89
簡単Velocity
へのリンク希望!

91:デフォルトの名無しさん
03/11/14 21:27
>>90
URLリンク(www.amazon.co.jp)

92:デフォルトの名無しさん
03/11/15 01:39
>>89
いやだから、『簡単』Velocityなのです

93:デフォルトの名無しさん
03/11/15 19:49
TapestryとVelocityを比較するとTapestryの方がよく見えてきたぞ

94:デフォルトの名無しさん
03/11/15 21:20
>>93
例えばどういう点?

95:デフォルトの名無しさん
03/11/15 21:34
>>94
名前

96:デフォルトの名無しさん
03/11/15 21:36
ベム、ベラ、ベロシチィ! 
妖怪人間! ジャーン♪

97:デフォルトの名無しさん
03/11/16 22:13
>>96
今どきそんなの誰も知らないよ

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


99:デフォルトの名無しさん
03/11/17 22:02
>>1
先こされるぞ!早く次を書けよw

100:デフォルトの名無しさん
03/11/18 09:15
キリ番ゲット!

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

102:デフォルトの名無しさん
03/11/18 17:35
JAVA WORLDのサンプルのZIPは解凍しようとするとディレクトリ名が変だ?

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

104:デフォルトの名無しさん
03/11/18 18:14
appディレクトリの前にゴミディレクトリがあるみたいだし。
解凍してしまったこの変なディレクトリ消すのめんどくさ。

105:102
03/11/18 20:28
サンプル動いた。(^^)

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

107:デフォルトの名無しさん
03/11/20 17:31
>>106
次は?もっと早いペースで頼むよ

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

109:デフォルトの名無しさん
03/11/20 19:09
>>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:デフォルトの名無しさん
03/11/20 23:49
>>108
早く返事しろよ
  ∧_∧
( ´∀`)つゴルァ

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

112:デフォルトの名無しさん
03/11/21 09:52
>>109
早く返事しろよ
    ∧_∧
( ´∀`)つゴルァ

113:デフォルトの名無しさん
03/11/21 12:31
おい、マキシシングル出たぞ
早く買えよ

114:デフォルトの名無しさん
03/11/21 13:20
>>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:デフォルトの名無しさん
03/11/21 13:21
>>111
早く返事しろよ
 ∧_∧
( ´∀`)つゴルァ


116:デフォルトの名無しさん
03/11/21 13:24
>>115
もっとカツラがズレてないとダメだぞ

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

117:デフォルトの名無しさん
03/11/21 13:25
みんな知ってるかい?Don't you know?
URLリンク(www.dorffweb.com)
に新しいTapestryチュートリアルが出たらしい
>>44 はこれを日本語化すること

118:デフォルトの名無しさん
03/11/21 14:24
 <input type="text" name="hoge" name="hoge"/>
なにこれ。ださっ
テンプレはPerlのHTML::Templateみたいなのがいいな。
ベロcityはイマイチだった。

>>1 は解説サイト立ち上げろ
             ∧_∧
( ´∀`)つゴルァ

119:デフォルトの名無しさん
03/11/21 17:24
>>117
あ、こりゃ嬉しいな。PDF読んでみよう。THX!

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

121:デフォルトの名無しさん
03/11/22 14:57
>>119
どういたしまして You are welcome!

122:デフォルトの名無しさん
03/11/22 15:23
>>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:デフォルトの名無しさん
03/11/22 17:35
>>120
早く返事しろよ
      ∧_∧
( ´∀`)つゴルァ

124:デフォルトの名無しさん
03/11/22 23:21
>>123
もっとカツラがズレてるぞ

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

125:デフォルトの名無しさん
03/11/23 13:13
携帯用のページみたいに
同じurlでキャリアによってテンプレートを変えるってこと
Tapestryで簡単にできますか?

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


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

128:デフォルトの名無しさん
03/11/23 23:10
>>126
深い意味はないです
毎回UserAgentを見て表示先を変えるのって
どうやるのが一番スマートかと思って

129:デフォルトの名無しさん
03/11/24 12:47
>>126
やり方教えて!!

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



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


132:デフォルトの名無しさん
03/11/26 00:14
>>128
こんな感じで見ます

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

133:デフォルトの名無しさん
03/11/26 21:31
>>130>>131

どんな時もズラせろよ↓

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


134:デフォルトの名無しさん
03/11/27 21:20
JavaWorld見たかい?

135:デフォルトの名無しさん
03/11/28 23:42
設定ファイルとサーブレットマッピング、パッケージ配置の
お作法がわからん。

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

136:デフォルトの名無しさん
03/11/29 02:59
>>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"
 "URLリンク(java.sun.com)">
<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:デフォルトの名無しさん
03/11/29 03:02
>>135
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない

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

138:135
03/11/29 21:44
>>137
なるほど。サンクス。
ボチボチサンプルアプリでも作ってみるかね。。

139:デフォルトの名無しさん
03/11/30 02:05
>>98
URLリンク(www.spacewalker.tv)
消えてるんだけど(>_<)
どういうこと?責任取れ!

140:デフォルトの名無しさん
03/11/30 09:34
俺達のTapestryは幻だったのか?

141:デフォルトの名無しさん
03/11/30 18:42
画面A - <submit> - submitActionメソッド - <処理OK> - <OK画面>
                          |-<処理NG> - <NG画面>

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

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

143:デフォルトの名無しさん
03/11/30 19:27
>>141
目を覚ませ
終わったんだよ・・・

144:141
03/11/30 19:36
>>143
そっか、終わってたんか。
ww2の勉強に切り替えるかね。

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


146:デフォルトの名無しさん
03/12/03 00:04
URLリンク(jakarta.apache.org)

147:デフォルトの名無しさん
03/12/04 11:32
Validationの使い方教えて!

148:デフォルトの名無しさん
03/12/04 21:44
なんかよくわからんが…
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。

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

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

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

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

149:デフォルトの名無しさん
03/12/04 23:10
気付いたならsubmitするなよ

150:デフォルトの名無しさん
03/12/04 23:17
>>149
さんせいマンセー

151:デフォルトの名無しさん
03/12/05 14:48
折角書いたのを捨てるのもったいない気持ちも分かるw

152:デフォルトの名無しさん
03/12/06 01:50
それも貧乏性だろ>もったいない

153:デフォルトの名無しさん
03/12/06 12:49
びんぼー(T_T)/

154:デフォルトの名無しさん
03/12/07 01:22
そもそもビンボーでなければ、オープンソースなんて使わないわけで。

155:デフォルトの名無しさん
03/12/07 18:18
>>136
その配置だとHTMLファイルを書き換えるたびに
WEBコンテナを再起動しないとだめじゃない?

156:デフォルトの名無しさん
03/12/08 01:58
>>155
そうだけどそれが何か?

157:デフォルトの名無しさん
03/12/08 04:03
つづれおり、いいよね。

158:デフォルトの名無しさん
03/12/08 12:01
ユーガッタフレンド~♪

159:デフォルトの名無しさん
03/12/09 00:48
>>157
はぁ?

160:デフォルトの名無しさん
03/12/09 01:44
>157 キャロルキングだろ。たぶん

161:デフォルトの名無しさん
03/12/12 00:25
age

162:デフォルトの名無しさん
03/12/13 16:10
>>1
次はまだか?

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


164:デフォルトの名無しさん
03/12/15 22:29
タペストリ

165:デフォルトの名無しさん
03/12/16 18:38
Tapestryってなんて読むの?

166:デフォルトの名無しさん
03/12/17 03:23
テープストーリー

167:デフォルトの名無しさん
03/12/17 21:29
つまんねぇ

168:デフォルトの名無しさん
03/12/20 03:07
>>1
次はまだかい?もう年越すぜ?

169:デフォルトの名無しさん
03/12/27 00:54
age

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

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

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

172:デフォルトの名無しさん
03/12/28 20:28
>> 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:デフォルトの名無しさん
03/12/28 20:37
わりい、172だが、読み直す前にぽちっと
いっちゃって、日本語がマンセーマンみ
たいに。要は、スタンドアローンなアプリ
をVBやDelphiで作るみたいな感覚で、デザ
インに力入ったHTMLが所与できちゃった案
件でもさくさくと作れる時が近いうちに実
現するんじゃないかと。Spindle 次第では。

174:デフォルトの名無しさん
03/12/28 20:42

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

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

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

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

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

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

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

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

175:デフォルトの名無しさん
03/12/28 20:43
8.K&A 死

9.K&A      来世

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

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

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

13.K&A    1.に戻る

これは事実。広めようぜ

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



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

177:初期不良
03/12/30 21:21
URLリンク(www.geocities.co.jp)
spindle 使わない形のドキュメントだけどみっけた

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

179:デフォルトの名無しさん
04/01/02 00:35
>>178 はじめの2章読めるだけで、今買う価値があるの?
はじめ2章にどれだけ有用な情報があるのかレポートよろ。

180:デフォルトの名無しさん
04/01/03 02:21
海外掲示板用オフラインリーダーを作るスレ
スレリンク(tech板)

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

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

181:デフォルトの名無しさん
04/01/06 23:32
>>178
URL希望

182:デフォルトの名無しさん
04/01/08 20:47
age

183:デフォルトの名無しさん
04/01/15 09:49
>>178
URL希望


184:デフォルトの名無しさん
04/01/16 11:23
>>183
URLリンク(www.manning.com)


185:デフォルトの名無しさん
04/01/18 15:35
Tapestryホームページがリニューアル
URLリンク(jakarta.apache.org)
Tapestry3.0beta4も出たぞ


186:デフォルトの名無しさん
04/01/18 16:22
>>178
書籍紹介サイト?
in Actionシリーズか。
いろいろシリーズがでているもんだな。


187:デフォルトの名無しさん
04/01/24 02:22
age

188:デフォルトの名無しさん
04/01/24 02:45
Tapestryのうまい使い方載ってるサイトない?

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


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



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

189:デフォルトの名無しさん
04/01/24 13:14
>> 188
VとCを作り直す対応だけでOKですよ~

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

192:デフォルトの名無しさん
04/01/28 05:40
>>190
へ~

193:デフォルトの名無しさん
04/01/29 10:29
新リンク発見
URLリンク(www.milkstand.net)

194:デフォルトの名無しさん
04/01/29 20:03
>>193
ネタにしろってことですか?


195:デフォルトの名無しさん
04/02/03 01:55
Tapestry3.0beta4ってどうやって使うの?

196:デフォルトの名無しさん
04/02/08 12:45
>>195
おれもしりたい

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

198:デフォルトの名無しさん
04/02/12 22:40
>○Beginning Tapestry
>URLリンク(jakarta.apache.org)

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

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


199:デフォルトの名無しさん
04/02/13 07:18
>>198
ノシ

200:198
04/02/13 09:18
>>199
URLリンク(up.isp.2ch.net)


201:デフォルトの名無しさん
04/02/13 11:25
>>200
漏れももらった。さんきう。

202:デフォルトの名無しさん
04/02/13 12:38
>200
いただきました。ありがとう

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

204:199
04/02/13 18:57
ダウソロードできないよー

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

206:デフォルトの名無しさん
04/02/13 20:57
>>205
Ja-Jakarta に送りつける!

207:デフォルトの名無しさん
04/02/14 00:18
>>205
URLリンク(kari.to)

208:デフォルトの名無しさん
04/02/14 01:05
>>198
iriaで試したら落とせました。
ありが㌧

209:デフォルトの名無しさん
04/02/14 01:50
落とすには Web 割れなみのテクが必要です。

210:デフォルトの名無しさん
04/02/14 01:52
あっ、家にパワポないの忘れてた。。。
誰か PDF にしてくだっさいぃ。。。

211:198
04/02/14 14:59
ちょい修正版、再ウプしますた。PDF版込みです。
URLリンク(marmotfarm.com)


212:デフォルトの名無しさん
04/02/14 15:51
>>211
PDF ありが㌧! ますます Tapestry ファンになった。
Java野郎、気に入った。

213:デフォルトの名無しさん
04/02/14 22:44
>>211
ダウンロードできないよ

214:デフォルトの名無しさん
04/02/14 22:47
URLリンク(marmotfarm.com)

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

216:デフォルトの名無しさん
04/02/14 23:28
>>215
うpろだから消しただけだろ。

217:198
04/02/17 10:23
うpろだから消えまくりですな。。。
とりあえずおまえら、技評から出版されてる「Jakartaプロジェクト徹底攻略2」で、
タペの特集やってますよ!これは買いでつ!
あと、併せてWEB+DB PRESSでは、O/RマッピングのHibernateも特集。
タペ+ハイバネで、楽チン開発・・・・かな?
個人的には、O/RマッピングフレームワークのCayenne(URLリンク(objectstyle.org))
も気になりマクリマクリスティですよ。

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

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

Java⇔RDBのMapping-Frameworkを語るスレ
スレリンク(tech板)

向けでつね。。

218:初期不良
04/02/17 13:55
>>217
スレ違いだけど WOLips 入れたら Cayenne 付いてきてた...
EOF 使うからたぶん使ってないとは思うんだけどね...

219:デフォルトの名無しさん
04/02/17 18:57
CayenneでもHibernateでも良いけれど、
WOのEOModeler + WOBuilderみたいに、ロジックとモデルの接続が
マウスグリグリで出来るようなプラグイン、でないかねぇ。

220:デフォルトの名無しさん
04/02/17 18:58
↑ここでのプラグインって、Eclipse用でつ。。

221:デフォルトの名無しさん
04/02/17 21:06
age

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


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




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

224:デフォルトの名無しさん
04/02/20 14:18
TapestryとStrutsは、MVC分離によって各領域のコンフリクトを
防ぐという目的は、だいたい一緒だと思います。
ただ、アプローチが大きく違うんじゃないでしょうか。

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

Tapestryの大きなメリットは、テンプレート上の動的HTML生成の仕組みが
コンポーネント指向ってことでしょうか。デザイナとの連携がうまく考えられてます。
コンポーネントライブラリも必要十分だと思うので、海外なんかではStrutsからの移行組も
増えてるとか。
ただ、まだ日本語の情報はStrutsほど多くないですね。

225:デフォルトの名無しさん
04/02/21 20:24
新しいTapestryのサイト発見
みんなカキコよろ!
URLリンク(www.wikiroom.com)

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


227:デフォルトの名無しさん
04/02/21 23:56
それは「Javaでは」ってよりも、
タペ自身が動的にアクセッサメソッドを処理するための
ルールってことではないの?

228:デフォルトの名無しさん
04/02/22 00:05
>>226
リフレクション使えばありえんことは無い。
ってかリフレクションはフレームワークでは結構使われるでしょ。

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

229:デフォルトの名無しさん
04/02/22 18:28
今日から試してみてるんだけど、
WOみたいにURLはSessionIDだけにならないのかな?

URLリンク(localhost)
だと、任意のページに自由にアクセスできてしまうよね?


230:デフォルトの名無しさん
04/02/22 22:30
Mevericは?

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

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


232:229
04/02/23 19:33
>>231
なるほど、そういう工夫が必要なんだね。

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

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


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

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

236:デフォルトの名無しさん
04/02/29 14:48
HTML テンプレートから Page クラスのアクセッサのコードを生成したり
できますか?

237:デフォルトの名無しさん
04/03/05 05:30
>>236
出来ません!

238:デフォルトの名無しさん
04/03/06 16:41
ああ、キャロル=キングね。懐かしいなぁ。

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

239:デフォルトの名無しさん
04/03/06 16:57
You've gotta hivemind

240:デフォルトの名無しさん
04/03/06 22:13
JSFとどっちがすごいの?

241:デフォルトの名無しさん
04/03/06 23:07
Tapestry のほうがすごい。
これで満足か?

242:デフォルトの名無しさん
04/03/08 21:02
Eclipse Plugin Spindle の Hello World
URLリンク(www.wikiroom.com)

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

244:デフォルトの名無しさん
04/03/09 11:12
なんか *.page 書くの面倒だね。もうちょっと簡単にならないものだろうか。

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

使い始めてまだ間がないので、おかしなことを言ってたらすいません。


245:初期不良
04/03/09 13:28
>>244
どういう事を望んでいるのかいまいち分からんけど
spindle 使ってもだめなん?

246:244
04/03/09 14:34
まさに Spindle を使っているのですが…。.html とクラスを関連づけるもの
として .page を見たとき、なんか微妙に冗長な気がしたんですよね。

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

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

(使いはじめて 5 時間でそんなことを言いだして…)


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


248:デフォルトの名無しさん
04/03/10 00:52
>>246
> .page に存在しない name を使ったコンポー
> ネントを書くと×印が出て、対応するクラスにメソッドを作ることができる

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

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

誰か教えて。


250:デフォルトの名無しさん
04/03/10 21:30
public void formSubmit( IRequestCycle cycle ) {
  cycle.activate( "hogehoge" );
}

251:デフォルトの名無しさん
04/03/11 10:57
>>250
Thanks!

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

252:デフォルトの名無しさん
04/03/11 23:40
>>249
PageLinkの場合は>>250でいいけど、
ExternalLinkやDirectLinkのようにパラメータを渡したい場合はこういう方法もあるよ
NextPage page=(NextPage)cycle.getPage("NextPage");
page.setMail(getMail());
page.setTel(getTel());
cycle.activate(page);
page.formSubmit(cycle);


253:デフォルトの名無しさん
04/03/15 13:29
Tapestry のRelease 版ってまだ出ていないのでしょうか?
MileStone 版だけ?

254:デフォルトの名無しさん
04/03/19 23:11
Validateってどうすんのよ

255:デフォルトの名無しさん
04/03/20 11:00
>>254
ValidFieldコンポーネントなどを使う。
でも、ちょっとめんどくさいな。
エラーメッセージをロケールによって変える方法が分かんねぇ。

256:デフォルトの名無しさん
04/03/20 17:19
>255
β版についてた、User'sGuideになんか載ってた気がする……>ローカライズに関して
自宅なもんで資料みつからねぇ。すまん。


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

URLリンク(joey.sourceforge.jp)

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

258:デフォルトの名無しさん
04/03/20 20:15
>257
んーーー。
とりあえず、Tutrial印刷して読んで見るわ。
俺は、こういうの好きだけど。


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

260:デフォルトの名無しさん
04/03/20 22:11
>>259
出来て間がなさそうだから、いろいろ方向転換しそうだね。
他色々ググってたんだけど、これタペと組み合わせどう?

URLリンク(seasar.sourceforge.jp)
URLリンク(lists.sourceforge.jp)

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

261:254
04/03/20 22:11
>>255
レスさんくす。
例のJakarta本2にはValidateについて
書かれてなかったから気になってた。

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

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

262:デフォルトの名無しさん
04/03/20 22:14
あと S2 の作者は 2chネラーみたい。ML の中で
もまいら自由に書き込め とか。

263:デフォルトの名無しさん
04/03/21 21:29
S2のRC1でたね

264:102
04/03/21 22:09
3.0-rc-1でてる

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


266:デフォルトの名無しさん
04/03/22 22:06
すまん、教えてくれ。
>249 みたいにsubmitで飛ばす時、外部にすっとばす(Yahoo!とか)場合はどうするんだろう?


267:デフォルトの名無しさん
04/03/23 01:33
>>266
public void formSubmit(IRequestCycle cycle){
throw new RedirectException("URLリンク(www.yahoo.co.jp)");
}


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

269:デフォルトの名無しさん
04/03/23 21:27
元ネタはApple (旧NeXT)なワケだが

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

271:デフォルトの名無しさん
04/03/25 01:17
age

272:デフォルトの名無しさん
04/03/29 05:50
復旧おめでとう(・∀・)イイ

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

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

274:デフォルトの名無しさん
04/03/30 22:17
復旧おめでとう(・∀・)イイ

275:273
04/03/31 00:11
ognlとjavaassistが無かったことが原因だった。
いつ、別パッケージになったの?

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

276:デフォルトの名無しさん
04/04/10 14:43
保守age

277:デフォルトの名無しさん
04/04/10 15:16
3.0RC3出てるね

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

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

279:
04/04/17 08:15
>>273
URLリンク(www.gihyo.co.jp)

280:デフォルトの名無しさん
04/04/17 22:44
Tapestryと相性が良いO/Rマッピングフレームワークって、Hibernate? Cayenne?

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

281:デフォルトの名無しさん
04/04/19 00:03
Cayenneは、自身にDBスキーマ構造をリバースしてくる機能があるみたいだからね。
WebObjectsってよりは、EOF的ってことなんだろうかね。


282:デフォルトの名無しさん
04/04/19 22:19
未アナウンスですが。

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

283:デフォルトの名無しさん
04/04/19 22:30
Tapestryの場合







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

284:デフォルトの名無しさん
04/04/20 00:46
あと知名度&実績モナー

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



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

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

287:初期不良
04/04/20 03:14
あ、参考文献
URLリンク(www.wikiroom.com)
URLリンク(www.saisse.jp)

それと、Tapestry の jar ファイル配置の問題だけど
URLリンク(www.wikiroom.com)
に書いてある
context/WEB-INF/lib
TOMCAT_HOME/shared/lib
のどちらかに置くという二つの方法があるらしいけど
どっちにしてます?

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

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


290:デフォルトの名無しさん
04/04/21 00:34
>>289
なんだか /hoge/app にトンじゃうあれのことね。

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

291:デフォルトの名無しさん
04/04/21 00:51
あと遅レスだが

>>226

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

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



292:デフォルトの名無しさん
04/04/21 23:53
>>291
やっぱそうだったのか >変数名をvalueにしておかなければならない

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

293:& ◆D3ra0B2LiQ
04/04/22 00:22
スピソ㌦の話題もここでよいのか?

294:デフォルトの名無しさん
04/04/22 07:43
>293
いいともー。

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


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

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


297:デフォルトの名無しさん
04/04/23 22:02
URLリンク(betterpetshop.dev.java.net)
Tapestry, Spring, Hibernateで作り直したPetShopだそうな。

298:295
04/04/24 07:30
>>296 サンクス。

299:デフォルトの名無しさん
04/04/24 22:58
>>297
そんなあなたに the National Hockey League

URLリンク(www.nhl.com)

Cayenne もあるでよ。

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

301:デフォルトの名無しさん
04/05/06 03:17
Tapestryでは、StrutsのTilesみたいな機能はないのでしょうか?

Webサイトで共通のヘッダーやフッターも全てのHTMLテンプレートに書かなければ
いけないのでしょうか?

302:デフォルトの名無しさん
04/05/06 10:53
もうサーバサイドJavaは勘弁して欲しいよ
なんでこんな複雑なものが必要なんだ?
冷静に考えれ

303:デフォルトの名無しさん
04/05/06 11:00
馬鹿発見

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

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

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

単なる一ライブラリならともかくその上で動かそうってんだから
ドキュメント無いとお仕事にならないよ

304:デフォルトの名無しさん
04/05/06 11:04
本質が見えていないバカは303だ。
サーバサイドJava、俺も面倒だと思うよ・・・
全然スマートじゃない。

305:デフォルトの名無しさん
04/05/06 11:19
何がどう面倒なのよ?

306:デフォルトの名無しさん
04/05/06 12:04
自分の理解不足を、面倒という考え方に転嫁してるやつがいるな。

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


308:デフォルトの名無しさん
04/05/06 12:44
EJBが必要なレベルのWEBアプリってあんま無いと思うが

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

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

ちょっとした動的コンテンツ程度ならPHPだろうがなんだろうがいいし
その程度なら豊富なライブラリもあるしjsp一本でいいだろう
ただある程度の規模になったとき困る
書籍の執筆で扱うサンプル程度の規模じゃ面倒になるだけなのは当たり前


309:デフォルトの名無しさん
04/05/06 20:49
>>301
URLリンク(dorffweb.com)
このチュートリアルの第7章のサンプル見ればわかる。


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

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

という方法です。

RenderBodyのもっと詳しい説明はコチラ↓
URLリンク(jakarta.apache.org)

310:デフォルトの名無しさん
04/05/06 20:52
×呼ばれたテンプレートの内容
○呼ばれたjwcidを持つタグの内容

スンマソン

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

312:デフォルトの名無しさん
04/05/07 02:02
>>311
ばりばり使いこなせるメンバーのみの少数精鋭ならいいけどね・・・

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

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

314:301
04/05/07 09:03
>>309
なるほど。分かりやすい説明サンクスです。

315:デフォルトの名無しさん
04/05/07 16:45
>>311
メンバ全員が使うフレームワークを熟知してれば問題ないんでは。
見た事無いけど。

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

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

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

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


318:デフォルトの名無しさん
04/05/08 00:52
なんでTapestryを使うの?

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

319:デフォルトの名無しさん
04/05/08 01:07
JSP拡張で効率化できますよ~
とでも逝っておけ

320:デフォルトの名無しさん
04/05/08 08:18
>>317
だな。
それは漏れも尻鯛w

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

321:デフォルトの名無しさん
04/05/09 07:24
>>318
開発工数を削減できます。とこたえます。


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

322:デフォルトの名無しさん
04/05/09 08:58
>>321
新しいものなんてだいたいそんなもんだ。
そこを乗り越えてなけりゃ未だにみんなアセンブラおんりーで50年前から進歩してないわけだし。



323:デフォルトの名無しさん
04/05/09 12:41
>>321
じゃあ削減分、値引いてね♪と言われる罠w

324:デフォルトの名無しさん
04/05/09 12:49
>>323
納期短縮をせまられたり。うぅ・・・
そうじゃない、そうじゃないんだ・・・。

325:デフォルトの名無しさん
04/05/09 13:15
新技術を使って前より少ない工数でできました(生産性向上)

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


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

326:デフォルトの名無しさん
04/05/09 14:18
>>307
そうなんだよ。激しく面倒。

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

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


327:デフォルトの名無しさん
04/05/09 14:43
定期的に湧くアンチがいるな

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

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

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


328:デフォルトの名無しさん
04/05/09 15:52
小規模、短納期にJ2EEは使うなってことで

329:デフォルトの名無しさん
04/05/09 20:55
>>327
フレームワークはそのアプリケーションに合わせたものを作ればよいということ。
その方がスマートかつシンプル。

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

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


330:デフォルトの名無しさん
04/05/09 23:05
もちろん俺の仕事はちゃんと規模にあわせて選択、自作してるさ

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

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

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


331:デフォルトの名無しさん
04/05/09 23:23
>>329
最初にまず、すでにあるもので簡単にできるなら利用しないのは損、ってことだろ。
その上でいいものを探して、選択する。

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

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

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

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

332:デフォルトの名無しさん
04/05/09 23:40
>>331
長いしわかりずらいよ、文章が

333:デフォルトの名無しさん
04/05/10 01:23
>>331
コンサルって奴は一般的に何をしてくれるものなんですか?
フレームワークの使い方を教えてくれるの?

334:デフォルトの名無しさん
04/05/10 22:14
>>321-325

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

335:デフォルトの名無しさん
04/05/11 00:38
>>334
でも「Tapestry知ってる人」をアサインするのが大変なような・・・

336:デフォルトの名無しさん
04/05/11 01:25
>>334
JavaScriptをスクリプトレットで制御するようなJSPを書かれる心配が無くなるぶん
Tapestryには導入メリットがありますね。
 
なんてな・・・

337:301
04/05/12 04:35
317の件はやっぱり無理?

338:デフォルトの名無しさん
04/05/12 06:34
>>337
ドキュメントが少ない&
その少ないドキュメントを読みきった香具師が少ないので、

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

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

340:デフォルトの名無しさん
04/05/13 20:42
おまいらスピソ㌦がRC1になりますたよ。

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

341:デフォルトの名無しさん
04/05/19 00:32
age

342:デフォルトの名無しさん
04/05/19 07:22
>>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やってみてくれ。
URLリンク(www.caddr.com)


343:317
04/05/20 03:00
>>342
ナイス。時間ができたら試してみます。

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


345:デフォルトの名無しさん
04/05/20 09:13
>>344
既知のTipsだとしても、それを情報として知るのと、
自ら試してみるのとでは理解度がまったく違うと思うよ。
決して無駄骨ではないと思われ。
その心意気に、敢えてGJ!!

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

347:デフォルトの名無しさん
04/05/22 05:38
>>344
オラも見てみたいズラ。

348:デフォルトの名無しさん
04/05/22 12:04
おれはどっちでもいーや

349:デフォルトの名無しさん
04/05/22 16:59
見せてもらえるものは見せてもらった方がいいわね、アータ。

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

やってるー? みんなー?

351:デフォルトの名無しさん
04/05/23 22:41
つうかFlashMXにはまってるからもういいや

352:デフォルトの名無しさん
04/05/23 22:58
>>350
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。

URLリンク(www.freeml.com)



353:デフォルトの名無しさん
04/05/24 00:08
所詮、ニッチなわけで

354:デフォルトの名無しさん
04/05/24 00:11
悪くないと思ったんだが、だめかなー。

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

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

以下のURLにて閲覧、投稿ができますので、是非とも参加下さい。
URLリンク(www.freeml.com)
--------------------
何なのこの人?

356:デフォルトの名無しさん
04/05/24 00:38
>>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:デフォルトの名無しさん
04/05/24 00:38
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);
    }
-------------------------------



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch