JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?
私はTapestry2.3あたりのころにTapestryの存在を知りました。
それまではStrutsでした。
デザイナーを内輪にかかえていない我が社では外注先から戻ってきた
HTMLからJSPへの変換および、再修正依頼が非常に困難でした。
○JSPへの変換ってつまらないよね!
○デザイナーがStrutsの拡張タグ理解できるわけないだろう!
○できたとしてどうやってデザインするの?
そんなあなたにはTapestryしかありません!
ぜひ日本でもこの2chを中心にTapestryの輪を広げて
Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ!
ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v
登録ユーザ○十数万人、売上○千万円程度の規模です。
携帯は全機種対応確認済みです。
携帯のブラウザのバグ的なものに対応するために、
Tapestryのソースいくつか書き換えてるけどね(^_^;
Tapestryに興味ある人レスよろしくね!
探検
Tapestryについて語ろうよ!
■ このスレッドは過去ログ倉庫に格納されています
1Ace
NGNG68デフォルトの名無しさん
NGNG age
69デフォルトの名無しさん
NGNG >>67
それはむしろ当たり前なんだけど、それでもダミーデータでそれらしく
デザインするとか、もしくはダミーヘッダ・フッタと言うべき機能がある
<html>
<script>
function hoge(){}
</script>
<body>
not for content of Tile but only for Design
<span jwcid="$content$">
content of Tile
content of Tile
content of Tile
</span>
not for content of Tile but only for Design
</body>
</html>
上の例は実行時には$content$で囲まれた
content of Tile
content of Tile
content of Tile
しか出力されません。デザイン時には当然すべてのデータでデザインできます。
それはむしろ当たり前なんだけど、それでもダミーデータでそれらしく
デザインするとか、もしくはダミーヘッダ・フッタと言うべき機能がある
<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デフォルトの名無しさん
NGNG71Ace
NGNG Tapestry入門実践講座
1.はじめに
サーバーサイドJavaにおける、サーブレット+JSPのコーディング自由度の高さに起因する数々の問題点から、オープンソースフレームワークを用いた開発手法への期待が高まっている。
その中で、現在日本で最も使用されていると思われるStrutsフレームワークを用いて、デザイン(ビュー)とロジックを分離することの利点に対しての理解も今や周知の状況と言えよう。
しかしながら、実際の開発現場、特にHTMLデザイナーとWEBプログラマーが完全に分業しているシステム会社でのWebアプリケーション開発、保守手順から考えると、
StrutsはJSPの根本的な欠点を克服できていない。
つまり、HTMLデザイナーが使用するメジャーなWYSIWYGのHTML編集ソフト(HomePageBuilder等)はスクリプトレット、拡張タグをほとんど解釈できず、
WEBプログラマーの地道な作業により、1つずつHTMLタグから拡張タグへと書き換えていることだろう(なんと単調でつまらない作業なことか!)
これは今後主流になる可能性が高いJSFもほぼ同じ欠点を持つ可能性が高い。(開発者の声を聞け!)
この講座では、Strutsを用いたMVCスタイルの開発への期待と絶望を体験したWEBプログラマーに対して、海外で人気が高く、Struts対抗馬と言われつつあるTapestryフレームワークを紹介し、
このフレームワークを用いることによって、よりビジュアルに、デザインの自由度と再利用性、HTMLデザイナーとの完全分業スタイルへの手助けとなることを期待する。
1.はじめに
サーバーサイドJavaにおける、サーブレット+JSPのコーディング自由度の高さに起因する数々の問題点から、オープンソースフレームワークを用いた開発手法への期待が高まっている。
その中で、現在日本で最も使用されていると思われるStrutsフレームワークを用いて、デザイン(ビュー)とロジックを分離することの利点に対しての理解も今や周知の状況と言えよう。
しかしながら、実際の開発現場、特にHTMLデザイナーとWEBプログラマーが完全に分業しているシステム会社でのWebアプリケーション開発、保守手順から考えると、
StrutsはJSPの根本的な欠点を克服できていない。
つまり、HTMLデザイナーが使用するメジャーなWYSIWYGのHTML編集ソフト(HomePageBuilder等)はスクリプトレット、拡張タグをほとんど解釈できず、
WEBプログラマーの地道な作業により、1つずつHTMLタグから拡張タグへと書き換えていることだろう(なんと単調でつまらない作業なことか!)
これは今後主流になる可能性が高いJSFもほぼ同じ欠点を持つ可能性が高い。(開発者の声を聞け!)
この講座では、Strutsを用いたMVCスタイルの開発への期待と絶望を体験したWEBプログラマーに対して、海外で人気が高く、Struts対抗馬と言われつつあるTapestryフレームワークを紹介し、
このフレームワークを用いることによって、よりビジュアルに、デザインの自由度と再利用性、HTMLデザイナーとの完全分業スタイルへの手助けとなることを期待する。
72デフォルトの名無しさん
NGNG Tapestryのソースを見ると、
CVSでヴァージョン管理するときに
$$記号でソースコード内にヴァージョン番号などをつけるのが難しくなると
思うのだが、
そういう場合はどうすれば言いのだろうか?
Tapestryで本番JSPに変換するときだけCVSの$Id$などをはずすように
チェックアウトせなあかん?
CVSでヴァージョン管理するときに
$$記号でソースコード内にヴァージョン番号などをつけるのが難しくなると
思うのだが、
そういう場合はどうすれば言いのだろうか?
Tapestryで本番JSPに変換するときだけCVSの$Id$などをはずすように
チェックアウトせなあかん?
73デフォルトの名無しさん
NGNG >>72
TapestryはJSPではないのでそもそも「変換」という作業は必要ないよ
実行時に見せたくないなら
<span jwcid="$remove$">$Revision$ $Date$</span>
か
<span jwcid="$remove$">$Id$</span>
とでも頭に入れるといいよ
TapestryはJSPではないのでそもそも「変換」という作業は必要ないよ
実行時に見せたくないなら
<span jwcid="$remove$">$Revision$ $Date$</span>
か
<span jwcid="$remove$">$Id$</span>
とでも頭に入れるといいよ
NGNG
しかあし、たとえばこんなことをやりたいときは?
ボタンタグにヴァージョン番号をつけるんだ。
<input jwcid="$Revision 1.2$">$Revision$ $Date$</span>
これも$をエンティティ参照で$を消す?
ボタンタグにヴァージョン番号をつけるんだ。
<input jwcid="$Revision 1.2$">$Revision$ $Date$</span>
これも$をエンティティ参照で$を消す?
75デフォルトの名無しさん
NGNG >>74
$Revision 1.2$というコンポーネントはないから、
この書き方自体意味が無く実行時エラーが出るよ
ボタンのテキストにRevision値を書きたいなら
<input type="button" value="$Revision 1.2$">
か
<button>$Revision 1.2$</button>
でいいんじゃない?
jwcidは存在するコンポーネント名の指定と$remove$、$content$にしか使わないよ
$Revision 1.2$というコンポーネントはないから、
この書き方自体意味が無く実行時エラーが出るよ
ボタンのテキストにRevision値を書きたいなら
<input type="button" value="$Revision 1.2$">
か
<button>$Revision 1.2$</button>
でいいんじゃない?
jwcidは存在するコンポーネント名の指定と$remove$、$content$にしか使わないよ
76デフォルトの名無しさん
NGNG age
NGNG
13 名前:デフォルトの名無しさん 投稿日:03/11/02 18:25
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ
53 名前:デフォルトの名無しさん 投稿日:03/11/06 16:20
他にネタがないのだろうな多分。
おまえらさ、どうでもいいけど雑誌とかそういうものに流されすぎるのはよくないぞ
53 名前:デフォルトの名無しさん 投稿日:03/11/06 16:20
他にネタがないのだろうな多分。
78デフォルトの名無しさん
NGNG >>77
部分抜き出しで多数派工作なんて君はマスコミ?w
部分抜き出しで多数派工作なんて君はマスコミ?w
79デフォルトの名無しさん
NGNG >>71
次はいつかな?
次はいつかな?
80デフォルトの名無しさん
NGNG >>71
俺も早く見たい。入門講座
俺も早く見たい。入門講座
81デフォルトの名無しさん
NGNG Tapestryはほかにもどんな用途に使えるんだろう。
すべてのVelocityの機能をTapestryだけで実現することも可能なんだろうか?
Velocityを使った、EclipseのSimteekプラグインのように
プログラミング時のソースコードテンプレートに使える用途はあるのか?
すべてのVelocityの機能をTapestryだけで実現することも可能なんだろうか?
Velocityを使った、EclipseのSimteekプラグインのように
プログラミング時のソースコードテンプレートに使える用途はあるのか?
82デフォルトの名無しさん
NGNG >>71
俺も期待してるよ!
俺も期待してるよ!
NGNG
84デフォルトの名無しさん
NGNG >>71
今晩あたりかな?w
今晩あたりかな?w
85デフォルトの名無しさん
NGNG86デフォルトの名無しさん
NGNG やはりWeb用にしか使えないのか?
いやまてよHTML上にかくということは、
XMLでも使えるということか?
ならば、かなり凄いことができる!?
いやまてよHTML上にかくということは、
XMLでも使えるということか?
ならば、かなり凄いことができる!?
87デフォルトの名無しさん
NGNG >>86
XMLでも
Anyコンポーネント
Foreachコンポーネント
Conditionalコンポーネント
Choose When Otherwiseコンポーネント
を使えば
XSLTと同じようなことができるね
XMLでも
Anyコンポーネント
Foreachコンポーネント
Conditionalコンポーネント
Choose When Otherwiseコンポーネント
を使えば
XSLTと同じようなことができるね
88デフォルトの名無しさん
NGNG もまいら、もちつけ
まあ、ここで騒げば
簡単Struts
簡単Velocity
につづけて
簡単Tapestryが発刊されるだろう
それまで待っても遅くないよん
まあ、ここで騒げば
簡単Struts
簡単Velocity
につづけて
簡単Tapestryが発刊されるだろう
それまで待っても遅くないよん
NGNG
91デフォルトの名無しさん
NGNG92デフォルトの名無しさん
NGNG >>89
いやだから、『簡単』Velocityなのです
いやだから、『簡単』Velocityなのです
93デフォルトの名無しさん
NGNG TapestryとVelocityを比較するとTapestryの方がよく見えてきたぞ
NGNG
>>93
例えばどういう点?
例えばどういう点?
NGNG
>>94
名前
名前
96デフォルトの名無しさん
NGNG ベム、ベラ、ベロシチィ!
妖怪人間! ジャーン♪
妖怪人間! ジャーン♪
97デフォルトの名無しさん
NGNG >>96
今どきそんなの誰も知らないよ
今どきそんなの誰も知らないよ
98デフォルトの名無しさん
NGNG 今後比較予定だってー
www.spacewalker.tv/tapestry/comparison.html
www.spacewalker.tv/tapestry/comparison.html
99デフォルトの名無しさん
NGNG >>1
先こされるぞ!早く次を書けよw
先こされるぞ!早く次を書けよw
100デフォルトの名無しさん
NGNG キリ番ゲット!
101デフォルトの名無しさん
NGNG Tapestryとファンをダイレクトに結ぶ会員制オンラインファンクラブ「Tapestry club」。
ここでは、川畑・堂珍が積極的に参加して、いろんな企画をスタートさせていきます。
ここでは、川畑・堂珍が積極的に参加して、いろんな企画をスタートさせていきます。
102デフォルトの名無しさん
NGNG JAVA WORLDのサンプルのZIPは解凍しようとするとディレクトリ名が変だ?
103デフォルトの名無しさん
NGNG104デフォルトの名無しさん
NGNG appディレクトリの前にゴミディレクトリがあるみたいだし。
解凍してしまったこの変なディレクトリ消すのめんどくさ。
解凍してしまったこの変なディレクトリ消すのめんどくさ。
105102
NGNG サンプル動いた。(^^)
106Ace
NGNG 2.JSPの欠点
JSPにはさまざまな長所、短所が指摘されているが、Tapestryと比較することに焦点を絞った場合、以下の点が欠点として強調される。逆にこれらの事項の裏返しがTapestryにおいて長所と言える。
●JSPファイルにはさまざまな言語(HTML,JavaScript,スクリプトレット,ディレクティブ,拡張タグ)が同時に含まれ、デザイナーはHTML,Javascript以外、特に頻出するスクリプトレット、拡張タグを理解できない
●JSPのスクリプトレットの書き方に標準がなく、プログラマーの能力差、経験差が大きく現れる
●HTMLタグから拡張タグへの変更が機械的で単調な繰り返しが多い
●JAVAはオブジェクト指向だが、JSPにはオブジェクト指向を感じない、デザインの再利用性が低い
JSPにはさまざまな長所、短所が指摘されているが、Tapestryと比較することに焦点を絞った場合、以下の点が欠点として強調される。逆にこれらの事項の裏返しがTapestryにおいて長所と言える。
●JSPファイルにはさまざまな言語(HTML,JavaScript,スクリプトレット,ディレクティブ,拡張タグ)が同時に含まれ、デザイナーはHTML,Javascript以外、特に頻出するスクリプトレット、拡張タグを理解できない
●JSPのスクリプトレットの書き方に標準がなく、プログラマーの能力差、経験差が大きく現れる
●HTMLタグから拡張タグへの変更が機械的で単調な繰り返しが多い
●JAVAはオブジェクト指向だが、JSPにはオブジェクト指向を感じない、デザインの再利用性が低い
107デフォルトの名無しさん
NGNG >>106
次は?もっと早いペースで頼むよ
次は?もっと早いペースで頼むよ
108デフォルトの名無しさん
NGNG WEBDB vol16見ながらやってるんだけど、
<input jwcid="@TextField" value="ognl:echo"/>
とか書いたら、
<input type="text" name="$TextField" value=""/>
に変換された。
これってjavascript使いたいときどうすんのさ。
name属性の値はテンプレの段階じゃわからん。
>>1は責任もって教えること。
<input jwcid="@TextField" value="ognl:echo"/>
とか書いたら、
<input type="text" name="$TextField" value=""/>
に変換された。
これってjavascript使いたいときどうすんのさ。
name属性の値はテンプレの段階じゃわからん。
>>1は責任もって教えること。
109デフォルトの名無しさん
NGNG >>108
<input type="text" jwcid="hoge@TextField" value="ognl:hoge"/>
とかすると、
<input type="text" name="hoge" value=""/>
になる。これ常識w
Form項目はすべて名前付けたほうが気持ち(・∀・)イイ!!
WEBDB vol16とかJAVA Worldの人は古いTapestry2.xの解説してるから、
Tapestryのサンプル見た方が早い場合もあるな
書くの面倒だけど、TapestryのJavaScript機能使えば別の解決法もある
それもTapestry付属のサンプル見るよろし
<input type="text" jwcid="hoge@TextField" value="ognl:hoge"/>
とかすると、
<input type="text" name="hoge" value=""/>
になる。これ常識w
Form項目はすべて名前付けたほうが気持ち(・∀・)イイ!!
WEBDB vol16とかJAVA Worldの人は古いTapestry2.xの解説してるから、
Tapestryのサンプル見た方が早い場合もあるな
書くの面倒だけど、TapestryのJavaScript機能使えば別の解決法もある
それもTapestry付属のサンプル見るよろし
110デフォルトの名無しさん
NGNG >>108
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
112デフォルトの名無しさん
NGNG >>109
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
113デフォルトの名無しさん
NGNG おい、マキシシングル出たぞ
早く買えよ
早く買えよ
114デフォルトの名無しさん
NGNG >>111
<input type="text" jwcid="hoge@TextField" name="hoge" value="ognl:hoge"/>
とすると
<input type="text" name="hoge" name="hoge"/>
になるがJavaScriptは動くことは動く
別の書き方をするなら
<input type="text" jwcid="AAA@TextField" name="BBB" value="ognl:CCC"/>
とすると
<input type="text" name="AAA" name="BBB"/>
になる。
name属性がreserved parameterになってないTapestryのバグか仕様だな
気に入らないなら
Tapestryのソースのframeworkフォルダの
/org/apache/tapestry/form/TextField.jwc
を書き換えて、自前のプロジェクトにマイコンポーネントとして追加するべし
<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デフォルトの名無しさん
NGNG116デフォルトの名無しさん
NGNG >>115
もっとカツラがズレてないとダメだぞ
↓
∧_∧
( ´∀`)つゴルァ
もっとカツラがズレてないとダメだぞ
↓
∧_∧
( ´∀`)つゴルァ
117デフォルトの名無しさん
NGNG みんな知ってるかい?Don't you know?
http://www.dorffweb.com/index.htm?page=taptutorial
に新しいTapestryチュートリアルが出たらしい
>>44 はこれを日本語化すること
http://www.dorffweb.com/index.htm?page=taptutorial
に新しいTapestryチュートリアルが出たらしい
>>44 はこれを日本語化すること
118デフォルトの名無しさん
NGNG <input type="text" name="hoge" name="hoge"/>
なにこれ。ださっ
テンプレはPerlのHTML::Templateみたいなのがいいな。
ベロcityはイマイチだった。
>>1 は解説サイト立ち上げろ
∧_∧
( ´∀`)つゴルァ
なにこれ。ださっ
テンプレはPerlのHTML::Templateみたいなのがいいな。
ベロcityはイマイチだった。
>>1 は解説サイト立ち上げろ
∧_∧
( ´∀`)つゴルァ
119デフォルトの名無しさん
NGNG >>117
あ、こりゃ嬉しいな。PDF読んでみよう。THX!
あ、こりゃ嬉しいな。PDF読んでみよう。THX!
120デフォルトの名無しさん
NGNG 1.ボタンが押された際にクライアントサイドでの
入力チェックをしたいのだが、実現可能?
2.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・?
入力チェックをしたいのだが、実現可能?
2.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・?
121デフォルトの名無しさん
NGNG >>119
どういたしまして You are welcome!
どういたしまして You are welcome!
122デフォルトの名無しさん
NGNG >>120
1.について
ValidFieldのvalidator属性に
DateValidator
EmailValidator
NumberValidator
StringValidator
のbeanに
<set-property name="clientScriptingEnabled" expression="true"/>
を入れるとクライアントサイドの入力チェックもしてくれます。
標準機能が気に入らないなら自前でコンポーネントを作りましょう。
2.について
Submitコンポーネントを使ってlistener属性に別のリスナーメソッドを関連付ければOK
<input type="submit" value="yes" jwcid="@Submit" listener="ognl:listeners.yesSubmit"/>
<input type="submit" value="no" jwcid="@Submit" listener="ognl:listeners.noSubmit"/>
この場合、Formのlistener属性は書く必要なし
1.について
ValidFieldのvalidator属性に
DateValidator
EmailValidator
NumberValidator
StringValidator
のbeanに
<set-property name="clientScriptingEnabled" expression="true"/>
を入れるとクライアントサイドの入力チェックもしてくれます。
標準機能が気に入らないなら自前でコンポーネントを作りましょう。
2.について
Submitコンポーネントを使ってlistener属性に別のリスナーメソッドを関連付ければOK
<input type="submit" value="yes" jwcid="@Submit" listener="ognl:listeners.yesSubmit"/>
<input type="submit" value="no" jwcid="@Submit" listener="ognl:listeners.noSubmit"/>
この場合、Formのlistener属性は書く必要なし
123デフォルトの名無しさん
NGNG >>120
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
早く返事しろよ
∧_∧
( ´∀`)つゴルァ
124デフォルトの名無しさん
NGNG125デフォルトの名無しさん
NGNG 携帯用のページみたいに
同じurlでキャリアによってテンプレートを変えるってこと
Tapestryで簡単にできますか?
同じurlでキャリアによってテンプレートを変えるってこと
Tapestryで簡単にできますか?
126デフォルトの名無しさん
NGNG127デフォルトの名無しさん
NGNG >>126
↓「ズラズレモナー」わすれてるぞ!
∧_∧
( ´∀`)つゴルァ
↓「ズラズレモナー」わすれてるぞ!
∧_∧
( ´∀`)つゴルァ
128デフォルトの名無しさん
NGNG129デフォルトの名無しさん
NGNG >>126
やり方教えて!!
やり方教えて!!
130デフォルトの名無しさん
NGNG / ̄ ̄ ̄ ̄\
∧_∧ | でたぁ! |
(;∀;∩)< 教えて性人! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
∧_∧ | でたぁ! |
(;∀;∩)< 教えて性人! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
131デフォルトの名無しさん
NGNG / ̄ ̄ ̄ ̄\
∧_∧ | でたぁ! |
(;∀;∩)< 教えて性人! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
∧_∧ | でたぁ! |
(;∀;∩)< 教えて性人! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
132デフォルトの名無しさん
NGNG >>128
こんな感じで見ます
UserAgent ←・・・・・・(・∀・ )
こんな感じで見ます
UserAgent ←・・・・・・(・∀・ )
133デフォルトの名無しさん
NGNG134デフォルトの名無しさん
NGNG JavaWorld見たかい?
135デフォルトの名無しさん
NGNG 設定ファイルとサーブレットマッピング、パッケージ配置の
お作法がわからん。
■パッケージpageの下にページ設定のXMLやBasePage
を継承したクラスをおいた場合は、web.xmlにpageという
仮想パス名でApplicationServletを割り当てないと駄目なのですが?
■hoge.applicationファイルってWEBアプリに
ひとつだけ配置することになるのですか?
■pagegroup1というパッケージの下に配置したページから
pagegroup1というパッケージの下に配置したページへ
画面遷移することは可能ですか?
お作法がわからん。
■パッケージpageの下にページ設定のXMLやBasePage
を継承したクラスをおいた場合は、web.xmlにpageという
仮想パス名でApplicationServletを割り当てないと駄目なのですが?
■hoge.applicationファイルってWEBアプリに
ひとつだけ配置することになるのですか?
■pagegroup1というパッケージの下に配置したページから
pagegroup1というパッケージの下に配置したページへ
画面遷移することは可能ですか?
136デフォルトの名無しさん
NGNG >>135
Tapestryのフォルダ構成の基本はこうだ。
/コンテキストルート
/WEB-INF
web.xml
hoge.application
Home.html
Home.page
Home.properties
/classes
Home.class
●web.xml(全角スペース注意)
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>hoge</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hoge</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
</web-app>
Tapestryのフォルダ構成の基本はこうだ。
/コンテキストルート
/WEB-INF
web.xml
hoge.application
Home.html
Home.page
Home.properties
/classes
Home.class
●web.xml(全角スペース注意)
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>hoge</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hoge</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
</web-app>
137デフォルトの名無しさん
NGNG >>135
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない
ページテンプレートはWEB-INFの下にフラットに置く方が、
デザイナーさんにファイルを送るときにまとまってて都合がよいよ
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない
ページテンプレートはWEB-INFの下にフラットに置く方が、
デザイナーさんにファイルを送るときにまとまってて都合がよいよ
139デフォルトの名無しさん
NGNG140デフォルトの名無しさん
NGNG 俺達のTapestryは幻だったのか?
141デフォルトの名無しさん
NGNG 画面A - <submit> - submitActionメソッド - <処理OK> - <OK画面>
|-<処理NG> - <NG画面>
こんな処理を行ないたいのですが、参考になるサンプルなどを
教えてもらえませんか?
submitActionメソッドの中で遷移先のHTMLファイルを切り替えたいのです。
|-<処理NG> - <NG画面>
こんな処理を行ないたいのですが、参考になるサンプルなどを
教えてもらえませんか?
submitActionメソッドの中で遷移先のHTMLファイルを切り替えたいのです。
142141
NGNG 自己レスすまそ。
requestCycle.activate("OkPage");
requestCycle.activate("NgPage");
で出来るな。
これからはヅラ直してから質問しまつ。
requestCycle.activate("OkPage");
requestCycle.activate("NgPage");
で出来るな。
これからはヅラ直してから質問しまつ。
143デフォルトの名無しさん
NGNG145デフォルトの名無しさん
NGNG / ̄ ̄ ̄ ̄\
∧_∧ | ほげらっちょ! |
(;∀;∩)< ほげらっちょ! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
∧_∧ | ほげらっちょ! |
(;∀;∩)< ほげらっちょ! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
147デフォルトの名無しさん
NGNG Validationの使い方教えて!
148デフォルトの名無しさん
NGNG なんかよくわからんが…
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。
結局Tapestryだって、独自記述をデザイナーに理解させる必要が
あるわけだし、スクリプトレットを存在させないJSPと対して変わらんよ。
※ちなみに、初期時はともかくとして運用段階においてHTML以外を
拒絶するデザイナー(だいたいバイト)なんて見たことない。
それに、純粋にプレゼンテーション層からビジネスロジックを
分離するのであれば、Velocityでのアプローチの方がまだましだよ。
ただ、主流じゃないからエンドユーザーへ提案しずらいのが、
そもそもの問題。
---
システムを買うのは、経営者であってデザイナーじゃないし、
経営者は知名度のある技術を好む。
どうしても分離したいのであれば、PHP+Smartyでいいじゃん。
今のところ、主流になっている組み合わせだし。
※それか、自分の趣味で遊ぶとかね。
と、ここまで書いておいて気付いたんだけど。
Tapestryの応援スレだったんだね。フレームワークスレだと思ってた…
水を差したのであれば、すいません。
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。
結局Tapestryだって、独自記述をデザイナーに理解させる必要が
あるわけだし、スクリプトレットを存在させないJSPと対して変わらんよ。
※ちなみに、初期時はともかくとして運用段階においてHTML以外を
拒絶するデザイナー(だいたいバイト)なんて見たことない。
それに、純粋にプレゼンテーション層からビジネスロジックを
分離するのであれば、Velocityでのアプローチの方がまだましだよ。
ただ、主流じゃないからエンドユーザーへ提案しずらいのが、
そもそもの問題。
---
システムを買うのは、経営者であってデザイナーじゃないし、
経営者は知名度のある技術を好む。
どうしても分離したいのであれば、PHP+Smartyでいいじゃん。
今のところ、主流になっている組み合わせだし。
※それか、自分の趣味で遊ぶとかね。
と、ここまで書いておいて気付いたんだけど。
Tapestryの応援スレだったんだね。フレームワークスレだと思ってた…
水を差したのであれば、すいません。
149デフォルトの名無しさん
NGNG 気付いたならsubmitするなよ
150デフォルトの名無しさん
NGNG >>149
さんせいマンセー
さんせいマンセー
151デフォルトの名無しさん
NGNG 折角書いたのを捨てるのもったいない気持ちも分かるw
152デフォルトの名無しさん
NGNG それも貧乏性だろ>もったいない
153デフォルトの名無しさん
NGNG びんぼー(T_T)/
154デフォルトの名無しさん
NGNG そもそもビンボーでなければ、オープンソースなんて使わないわけで。
155デフォルトの名無しさん
NGNG156デフォルトの名無しさん
NGNG >>155
そうだけどそれが何か?
そうだけどそれが何か?
157デフォルトの名無しさん
NGNG つづれおり、いいよね。
158デフォルトの名無しさん
NGNG ユーガッタフレンド〜♪
159デフォルトの名無しさん
NGNG >>157
はぁ?
はぁ?
160デフォルトの名無しさん
NGNG >157 キャロルキングだろ。たぶん
161デフォルトの名無しさん
NGNG age
162デフォルトの名無しさん
NGNG >>1
次はまだか?
次はまだか?
163デフォルトの名無しさん
NGNG / ̄ ̄ ̄ ̄\
∧_∧ | ほげらっちょ! |
(;∀;∩)< ほげらっちょ! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
∧_∧ | ほげらっちょ! |
(;∀;∩)< ほげらっちょ! |
(⊃ ) | |
人 ヽ´ \____/
し'(__)
164デフォルトの名無しさん
NGNG タペストリ
165デフォルトの名無しさん
NGNG Tapestryってなんて読むの?
166デフォルトの名無しさん
NGNG テープストーリー
167デフォルトの名無しさん
NGNG つまんねぇ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【貧鈍】日本人、ついにゴミ箱設置で自治体、住民、事業者、域外来訪者らで揉める!街がポイ捨てゴミで溢れる [219241683]
- 日本人、インバウンド減っても貧乏すぎて国内旅行すら行けないと判明🥺 [399259198]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 旅行ジャーナリスト『日本人が国内旅行すら行けなくなっている根本的な原因は、「お金も時間もない」ことに尽きる』本当か?🤔 [718678614]
- プログラミングって具体的に何?
