X



Tapestryについて語ろうよ!

■ このスレッドは過去ログ倉庫に格納されています
0001Ace
垢版 |
NGNG
JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?

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

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

Tapestryに興味ある人レスよろしくね!
0116デフォルトの名無しさん
垢版 |
NGNG
>>115
もっとカツラがズレてないとダメだぞ

    ∧_∧
( ´∀`)つゴルァ
0118デフォルトの名無しさん
垢版 |
NGNG
 <input type="text" name="hoge" name="hoge"/>
なにこれ。ださっ
テンプレはPerlのHTML::Templateみたいなのがいいな。
ベロcityはイマイチだった。

>>1 は解説サイト立ち上げろ
             ∧_∧
( ´∀`)つゴルァ
0120デフォルトの名無しさん
垢版 |
NGNG
1.ボタンが押された際にクライアントサイドでの
 入力チェックをしたいのだが、実現可能?
2.同一のフォーム内に複数のボタンがあっても大丈夫だよね・・・?
0121デフォルトの名無しさん
垢版 |
NGNG
>>119
どういたしまして You are welcome!
0122デフォルトの名無しさん
垢版 |
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属性は書く必要なし
0123デフォルトの名無しさん
垢版 |
NGNG
>>120
早く返事しろよ
      ∧_∧
( ´∀`)つゴルァ
0124デフォルトの名無しさん
垢版 |
NGNG
>>123
もっとカツラがズレてるぞ

 ∧_∧
( ´∀`)つゴルァ
0125デフォルトの名無しさん
垢版 |
NGNG
携帯用のページみたいに
同じurlでキャリアによってテンプレートを変えるってこと
Tapestryで簡単にできますか?
0126デフォルトの名無しさん
垢版 |
NGNG
>>125
簡単で、やり方は3通りかそれ以上あるけど、同じurlにする理由ってあるの?
0127デフォルトの名無しさん
垢版 |
NGNG
>>126
↓「ズラズレモナー」わすれてるぞ!
      ∧_∧
( ´∀`)つゴルァ
0129デフォルトの名無しさん
垢版 |
NGNG
>>126
やり方教えて!!
0130デフォルトの名無しさん
垢版 |
NGNG
        / ̄ ̄ ̄ ̄\
  ∧_∧  | でたぁ! |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 

0131デフォルトの名無しさん
垢版 |
NGNG
        / ̄ ̄ ̄ ̄\
  ∧_∧  | でたぁ!  |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 
0132デフォルトの名無しさん
垢版 |
NGNG
>>128
こんな感じで見ます

UserAgent   ←・・・・・・(・∀・ )
0133デフォルトの名無しさん
垢版 |
NGNG
>>130>>131

どんな時もズラせろよ↓

        / ̄ ̄ ̄ ̄\
∧_∧  | でたぁ!   |
 (;∀;∩)< 教えて性人! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 
0134デフォルトの名無しさん
垢版 |
NGNG
JavaWorld見たかい?
0135デフォルトの名無しさん
垢版 |
NGNG
設定ファイルとサーブレットマッピング、パッケージ配置の
お作法がわからん。

■パッケージpageの下にページ設定のXMLやBasePage
 を継承したクラスをおいた場合は、web.xmlにpageという
 仮想パス名でApplicationServletを割り当てないと駄目なのですが?
■hoge.applicationファイルってWEBアプリに
 ひとつだけ配置することになるのですか?
■pagegroup1というパッケージの下に配置したページから
 pagegroup1というパッケージの下に配置したページへ
 画面遷移することは可能ですか?
0136デフォルトの名無しさん
垢版 |
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>
0137デフォルトの名無しさん
垢版 |
NGNG
>>135
hoge.applicationとサーブレット名のhogeを同じにしておけばよいよ
ページクラスとページテンプレートの関係はページ使用ファイルの中に書くから
同じ名前である必要はない。もちろんパッケージ名はまったく関係がない

ページテンプレートはWEB-INFの下にフラットに置く方が、
デザイナーさんにファイルを送るときにまとまってて都合がよいよ
0138135
垢版 |
NGNG
>>137
なるほど。サンクス。
ボチボチサンプルアプリでも作ってみるかね。。
0140デフォルトの名無しさん
垢版 |
NGNG
俺達のTapestryは幻だったのか?
0141デフォルトの名無しさん
垢版 |
NGNG
画面A - <submit> - submitActionメソッド - <処理OK> - <OK画面>
                          |-<処理NG> - <NG画面>

こんな処理を行ないたいのですが、参考になるサンプルなどを
教えてもらえませんか?
submitActionメソッドの中で遷移先のHTMLファイルを切り替えたいのです。
0142141
垢版 |
NGNG
自己レスすまそ。
requestCycle.activate("OkPage");
requestCycle.activate("NgPage");
で出来るな。
これからはヅラ直してから質問しまつ。
0144141
垢版 |
NGNG
>>143
そっか、終わってたんか。
ww2の勉強に切り替えるかね。
0145デフォルトの名無しさん
垢版 |
NGNG
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 
0147デフォルトの名無しさん
垢版 |
NGNG
Validationの使い方教えて!
0148デフォルトの名無しさん
垢版 |
NGNG
なんかよくわからんが…
なんでわざわざsunの主流からはずれる方向を選ぶんだろ。

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

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

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

と、ここまで書いておいて気付いたんだけど。
Tapestryの応援スレだったんだね。フレームワークスレだと思ってた…
水を差したのであれば、すいません。
0150デフォルトの名無しさん
垢版 |
NGNG
>>149
さんせいマンセー
0153デフォルトの名無しさん
垢版 |
NGNG
びんぼー(T_T)/
0156デフォルトの名無しさん
垢版 |
NGNG
>>155
そうだけどそれが何か?
0159デフォルトの名無しさん
垢版 |
NGNG
>>157
はぁ?
0161デフォルトの名無しさん
垢版 |
NGNG
age
0162デフォルトの名無しさん
垢版 |
NGNG
>>1
次はまだか?
0163デフォルトの名無しさん
垢版 |
NGNG
        / ̄ ̄ ̄ ̄\
∧_∧  | ほげらっちょ!   |
 (;∀;∩)< ほげらっちょ! |
 (⊃   ) |          |
 人  ヽ´   \____/
 し'(__) 
0167デフォルトの名無しさん
垢版 |
NGNG
つまんねぇ
0168デフォルトの名無しさん
垢版 |
NGNG
>>1
次はまだかい?もう年越すぜ?
0169デフォルトの名無しさん
垢版 |
NGNG
age
0170デフォルトの名無しさん
垢版 |
NGNG
Tapestry のよさは、デザイン分離がクローズアップされがちだが、
もっとグレイトなのは、HTTPというプロトコル上ステートレスかつ
URL の連鎖で画面のコンテキストを追っかけるつくりになっちゃう
ところを、画面の構成コンポーネントのイベントハンドラで作り
こむ、まるで Swing みたいな設計をするところだと思うな。
その点、Struts とも Velocity とも比較するものではなく、JSF
と比較すべき存在だと思う。じゃなきゃ、Swing とかとの比較だ
な。まあ、クソスレの住人にはわからんだろうが。

このスレはめずらしく >>1 がまともかと思ったら、威張るだ
けで根性なしだったのがザンネンだ。マジにこの時期にTapestry
で成功事例もってるなら、金払っても話が聞きたかったものを。。
まわりもおだてて話させりゃいいものを、自分が理解もしていな
いのにヤヅでつぶしちまった。ほかに、Tapestry の読むに耐える
板はどっかにないもんかね?
0171初期不良
垢版 |
NGNG
>>170
激しく同意
WO 触っているせいでこの重要さは身にしみてる。
オープンソースでもこんなんできるようになったとは、
と感慨ひとしおですけど実はまだきちんと触ってないヘタレでつ...
0172デフォルトの名無しさん
垢版 |
NGNG
>> 171 どうもありがとう。

Tapestry も Spindle とかの IDE プラグインに可能性
の余地があって、たとえば今はハンドで書いている.page
や.jwcといったSpecificationXMLが、Dreamwaverみたい
なWYSWYGのHTMLエディタでテンプレート開いた上でダブ
ルクリックするとオートで書かれ、ページオブジェクト
のリスナーメソッドのガワが実装されるような動きをし
てくれば、まんまVBやDelphiだからね。WYSWYGなHTMLエ
ディタはすでにオープンソースでもあるし、.pageのXML
はIDEがオートで書けるレベルの内容にとどめている。
bindingの情報なんて、VBのFormファイルの中身みたい
なもんだし。JSFでもIDE充実したらそうなるだろうけど
ね。最近の両者をみていて、オイラはTapestry のほう
がJSFよりもテンプレートがHTMLということで手軽感が
あるし、力の入ったWEBデザインをするのに向いている
と感じているので、次の案件に使ってみたいと思ってる。
その点、すでに使ってるヤシの情報は漁ってるんだけ
どね。なかなか書いてくんないね。
0173デフォルトの名無しさん
垢版 |
NGNG
わりい、172だが、読み直す前にぽちっと
いっちゃって、日本語がマンセーマンみ
たいに。要は、スタンドアローンなアプリ
をVBやDelphiで作るみたいな感覚で、デザ
インに力入ったHTMLが所与できちゃった案
件でもさくさくと作れる時が近いうちに実
現するんじゃないかと。Spindle 次第では。
0174デフォルトの名無しさん
垢版 |
NGNG

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

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

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

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

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

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

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

7.K 正常な人間   A 異常な人間(レッテル)
0175デフォルトの名無しさん
垢版 |
NGNG
8.K&A 死

9.K&A      来世

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

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

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

13.K&A    1.に戻る

これは事実。広めようぜ

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

0176デフォルトの名無しさん
垢版 |
NGNG
おっ、Tapestry賛成派の意見が増えてきた
もうJAVA World出たよ>>1
0177初期不良
垢版 |
NGNG
ttp://www.geocities.co.jp/SiliconValley-SanJose/2565/tapestry/tapestry.html
spindle 使わない形のドキュメントだけどみっけた
0178デフォルトの名無しさん
垢版 |
NGNG
manning のアーリーアクセス+ペーパーバック後郵送の
サービスで「Tapestry in Action」買った!もちろん英
語だけど。結構いいこと書いてある。俺は買いだと思う。
0180デフォルトの名無しさん
垢版 |
NGNG
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

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

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0181デフォルトの名無しさん
垢版 |
NGNG
>>178
URL希望
0182デフォルトの名無しさん
垢版 |
NGNG
age
0183デフォルトの名無しさん
垢版 |
NGNG
>>178
URL希望
0187デフォルトの名無しさん
垢版 |
NGNG
age
0188デフォルトの名無しさん
垢版 |
NGNG
Tapestryのうまい使い方載ってるサイトない?

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


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



カスタムタグを使って作ったJSPファイルを
また修正しないといけないとか?
0190デフォルトの名無しさん
垢版 |
NGNG
>>188
StrutsからTapestryに移行するには、該当ページのJSPとActionを書き換えになる。
JSPの方はカスタムタグからTapestryの該当するコンポーネント指定に1対1で書き換え、
ActionはpageBeginRenderとformSubmitリスナとactivateExternalにメソッドを分割して
DBアクセスまわりのロジックはフルコピー可能。
ActionFormのresetはPageRenderListenerインタフェースを実装してpageBeginRenderにコピー可能。
ActionFormのvalidateはPageValidateListenerインターフェースを実装してpageValidateRenderにコピー可能。
return mapping.getInputForward();はreturn;にするだけ
return mapping.findForward("hoge");はcycle.activate("hoge");return;だけ
ほとんど1対1に変換可能だから、Struts→Tapestry変換ソフトも作成可能と思われる。
0191デフォルトの名無しさん
垢版 |
NGNG
>>188
ActionFormのプロパティは、ページクラスにabstractでget/set***を作成し、
ページ仕様ファイルにpropertyの名前と型を記述する
0192デフォルトの名無しさん
垢版 |
NGNG
>>190
へ〜
0195デフォルトの名無しさん
垢版 |
NGNG
Tapestry3.0beta4ってどうやって使うの?
0196デフォルトの名無しさん
垢版 |
NGNG
>>195
おれもしりたい
0197デフォルトの名無しさん
垢版 |
NGNG
パペストリで、画面遷移とかってどういう仕組みになってるの?
いいサンプルかチュートリヤルある?
0198デフォルトの名無しさん
垢版 |
NGNG
>○Beginning Tapestry
>ttp://jakarta.apache.org/~hlship/Tapestry-ApacheCon.ppt

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

なんか、タペってStrutsよりも効率よさそう。
0200198
垢版 |
NGNG
>>199
ttp://up.isp.2ch.net/up/79de27813b6b.zip
0203198
垢版 |
NGNG
和訳がおかしいところも多いと思うので、
英語にオタッシャクラブなヤツがいましたら、改修オナ貝。
0204199
垢版 |
NGNG
ダウソロードできないよー
0205198
垢版 |
NGNG
消えちゃったかな?
他にどこかよさげなウプロダある?
駄訳をちょっとだけ修正したのを再ウプしたひ
0208デフォルトの名無しさん
垢版 |
NGNG
>>198
iriaで試したら落とせました。
ありがd
0211198
垢版 |
NGNG
ちょい修正版、再ウプしますた。PDF版込みです。
ttp://marmotfarm.com/cgi-bin/upload2/source/up31226.zip
0213デフォルトの名無しさん
垢版 |
NGNG
>>211
ダウンロードできないよ
0215デフォルトの名無しさん
垢版 |
NGNG
>>214
やっぱ、できないんだけど、うちのネットワークのせい?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況