From r_f_315 @ hotmail.com Mon Sep 1 10:05:10 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Mon, 1 Sep 2008 01:05:10 +0000 Subject: [Wicket-ja-user 216] =?iso-2022-jp?b?RnJhZ21lbnQbJEIkSDdRPjUkSyREJCQkRhsoQg==?= In-Reply-To: References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> Message-ID: 古川です、 Fragmentと継承の動作が良くわからないので質問です。 あるパネル(html)内で以下のように定義しました。 あああ /** * パネル */ public class BBB extends Panel implements Serializable { public BBB( String id ) { super( id ); this.add( new Label( "data", "ほげほげ" ) ); } /** * 親フラグメント */ public class CCC extends Fragment implements Serializable { public CCC( String id ) { super( id, "fragment", BBB.this ); } } } (子フラグメントHTML) テスト文字列 /** * 子フラグメント */ public class DDD extends BBB.CCC implements Serializable { public DDD( BBB bbb, String id ) { bbb.super( id ); } } としてページWebPage AAAの内部で BBB bbb = new BBB( "mypanel" ); this.add( bbb ); this.add( new DDD( bbb, "mypanel2" ) ); としました。 すると、画面では 「ほげほげ」だけ表示され、「テスト文字列」は表示されませんでした。 DDDのコンストラクタ内部でSysoutしてみたらしっかりコンストラクタは走っていました。 childの継承部分が完全に無視されているように思いました。 「Fragment」を継承したクラスをさらに継承することはできないのでしょうか??? どなたかお詳しい方ご教示していただけませんでしょうか? _________________________________________________________________ Hotmailユーザ限定の格安ブロードバンドご存じですか? 月額1,480円から。 http://campaign.live.jp/eaccess/Top/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080901/b51c6d96/attachment.htm From r_f_315 @ hotmail.com Tue Sep 2 12:48:28 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Tue, 2 Sep 2008 03:48:28 +0000 Subject: [Wicket-ja-user 217] =?iso-2022-jp?b?QWpheExpbmsbJEIkSyREJCQkRhsoQg==?= In-Reply-To: References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> Message-ID: 古川です、 先の「Fragment」の件とは全然関係が無いのですが、 気になる挙動があったので報告です。 Wicketのバージョンは1.3.4です。 DIVに設定できるようなWebMarkupContainerを二個作成し、 Panelを継承したクラスを2個作成します。 作成されたPanelの要素としてAjaxLinkを作成し、 Panel同士は相互参照できるように、お互いの参照を保持します。 この状態でAjaxLinkの @Override public void onClick( AjaxRequestTarget arg0 ) { } で自身と参照相手のsetVisible()を行い、片方が表示されているときは、片方は非表示の状態を作ろうとしました。 画面を構成する全ての要素において、 setOutputMarkupId( true ); setOutputMarkupPlaceholderTag( true ); し、IDは出力状態にあります。 arg0.addComponent();にもページ全体を覆うコンテナを設定しましたが、 イベントを発生させたコンポーネント自体の再描画は発生しますが、 参照側のコンポーネントの再描画が行われませんでした。 デバッガで見ると、setVisible後のisVisibleはしっかり切り替わっていました。 どうも片方の再描画の通知が行われていないように思います。 これをAjaxリンクではなく、ImageなどにAjaxEventBehavior("onmousedown")を追記して、 ハンドラ内でまったく同じコードを記述すると両方再描画が発生します。 この挙動の違いがバグなのかどうかの判断がつきませんでした。 以上です。  (考慮が漏れている点や、勘違いがあれば指摘していただけると幸いです。) _________________________________________________________________ 多くのHotmailユーザが使っているのには理由がある。試してみませんか? http://campaign.live.jp/hmim/top/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080902/7c4079a1/attachment.htm From shinyaokino @ gmail.com Wed Sep 3 14:40:50 2008 From: shinyaokino @ gmail.com (shinya okino) Date: Wed, 3 Sep 2008 14:40:50 +0900 Subject: [Wicket-ja-user 218] Re: =?iso-2022-jp?b?RnJhZ21lbnQbJEIkSDdRPjUkSyREJCQkRhsoQg==?= In-Reply-To: References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> Message-ID: 沖野です。 動作を追ってみました。 はレンダリング時にマージするのではなく、 htmlファイルを読み込む時に継承クラス分も読み込んでマージしたものをキャッシュしているようです。(Markup・MergedMarkupクラス) PageやPanelはレンダリング時に自クラスに対応したMarkupを使っていますが、 Fragmentはコンストラクタで渡されたMarkupContainerクラスのMarkupを使います。 なので、例にあったDDDのhtmlは使われず、BBBのhtml内の部分だけがレンダリングされるようになります。 Fragmentで継承を使うのはいろいろ手を入れないと難しそうです。 08/09/01 に 古川 烈 さんは書きました: > > 古川です、 > Fragmentと継承の動作が良くわからないので質問です。 > > あるパネル(html)内で以下のように定義しました。 > > > あああ > > > > > > > /** > * パネル > */ > public class BBB extends Panel implements Serializable { > > public BBB( String id ) { > super( id ); > this.add( new Label( "data", "ほげほげ" ) ); > } > > /** > * 親フラグメント > */ > public class CCC extends Fragment implements Serializable { > > public CCC( String id ) { > super( id, "fragment", BBB.this ); > } > } > } > > > (子フラグメントHTML) > > テスト文字列 > > > /** > * 子フラグメント > */ > public class DDD extends BBB.CCC implements Serializable { > > public DDD( BBB bbb, String id ) { > bbb.super( id ); > } > } > > としてページWebPage AAAの内部で > > BBB bbb = new BBB( "mypanel" ); > > this.add( bbb ); > this.add( new DDD( bbb, "mypanel2" ) ); > > としました。 > > すると、画面では > 「ほげほげ」だけ表示され、「テスト文字列」は表示されませんでした。 > DDDのコンストラクタ内部でSysoutしてみたらしっかりコンストラクタは走っていました。 > childの継承部分が完全に無視されているように思いました。 > > 「Fragment」を継承したクラスをさらに継承することはできないのでしょうか??? > どなたかお詳しい方ご教示していただけませんでしょうか? > > ________________________________ > Hotmailユーザ限定の格安ブロードバンドご存じですか? 月額1,480円から。 ずっと同じ安心料金、比べて分かるこの安さ > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > -- 沖野信也 shinyaokino @ gmail.com From r_f_315 @ hotmail.com Tue Sep 9 09:55:47 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Tue, 9 Sep 2008 00:55:47 +0000 Subject: [Wicket-ja-user 219] =?iso-2022-jp?b?IFJFOiAgUmU6CUZyYWdtZW50GyRCJEg3UT41JEskRCQkGyhC?= =?iso-2022-jp?b?GyRCJEYbKEI=?= In-Reply-To: References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> Message-ID: 古川です、 返答が遅くなり申し訳ございません。 (最近仕事がとても。。。orz) ありがとうございました。 大変勉強になりました。 なるほど、そういうことだったんですね。 内容から考えるとFragmentはそもそもそういう使い方を想定していないのでしょうね。 (つまりFragmentを継承したくなるような状況には他の解決策がある?) 最良の方法で自分がフレームを利用できていたら良いのですが、 最近ますます自信が無くなってきました;; > Date: Wed, 3 Sep 2008 14:40:50 +0900 > From: shinyaokino @ gmail.com > To: wicket-ja-user @ lists.sourceforge.jp > Subject: [Wicket-ja-user 218] Re: Fragmentと継承について > > 沖野です。 > > 動作を追ってみました。 > はレンダリング時にマージするのではなく、 > htmlファイルを読み込む時に継承クラス分も読み込んでマージしたものをキャッシュしているようです。(Markup・MergedMarkupクラス) > > PageやPanelはレンダリング時に自クラスに対応したMarkupを使っていますが、 > Fragmentはコンストラクタで渡されたMarkupContainerクラスのMarkupを使います。 > なので、例にあったDDDのhtmlは使われず、BBBのhtml内の部分だけがレンダリングされるようになります。 > > Fragmentで継承を使うのはいろいろ手を入れないと難しそうです。 > > 08/09/01 に 古川 烈 さんは書きました: > > > > 古川です、 > > Fragmentと継承の動作が良くわからないので質問です。 > > > > あるパネル(html)内で以下のように定義しました。 > > > > > > あああ > > > > > > > > > > > > > > /** > > * パネル > > */ > > public class BBB extends Panel implements Serializable { > > > > public BBB( String id ) { > > super( id ); > > this.add( new Label( "data", "ほげほげ" ) ); > > } > > > > /** > > * 親フラグメント > > */ > > public class CCC extends Fragment implements Serializable { > > > > public CCC( String id ) { > > super( id, "fragment", BBB.this ); > > } > > } > > } > > > > > > (子フラグメントHTML) > > > > テスト文字列 > > > > > > /** > > * 子フラグメント > > */ > > public class DDD extends BBB.CCC implements Serializable { > > > > public DDD( BBB bbb, String id ) { > > bbb.super( id ); > > } > > } > > > > としてページWebPage AAAの内部で > > > > BBB bbb = new BBB( "mypanel" ); > > > > this.add( bbb ); > > this.add( new DDD( bbb, "mypanel2" ) ); > > > > としました。 > > > > すると、画面では > > 「ほげほげ」だけ表示され、「テスト文字列」は表示されませんでした。 > > DDDのコンストラクタ内部でSysoutしてみたらしっかりコンストラクタは走っていました。 > > childの継承部分が完全に無視されているように思いました。 > > > > 「Fragment」を継承したクラスをさらに継承することはできないのでしょうか??? > > どなたかお詳しい方ご教示していただけませんでしょうか? > > > > ________________________________ > > Hotmailユーザ限定の格安ブロードバンドご存じですか? 月額1,480円から。 ずっと同じ安心料金、比べて分かるこの安さ > > _______________________________________________ > > Wicket-ja-user mailing list > > Wicket-ja-user @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > > > > > > -- > 沖野信也 > shinyaokino @ gmail.com > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _________________________________________________________________ Hotmail をお使いの皆様だけに低価格ブロードバンドサービス! http://campaign.live.jp/eaccess/Top/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080909/d96ab78f/attachment.htm From benbrand @ mac.com Tue Sep 9 12:06:37 2008 From: benbrand @ mac.com (=?ISO-2022-JP?B?GyRCTHBMbhsoQiAbJEJKWRsoQg==?=) Date: Tue, 09 Sep 2008 12:06:37 +0900 Subject: [Wicket-ja-user 220] Re: =?iso-2022-jp?b?RnJhZ21lbnQbJEIkSDdRPjUkSyREJCQkRhsoQg==?= In-Reply-To: References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> Message-ID: <128278352060841468744422082765622836282-Webmail2@me.com> この件返事し忘れてました。。。 技術的なところはすでにコメントが入っているので、考え方的なところで書いてみます。 マークアップ継承は、マークアップファイルと対になってるタイプのコンテナ(Page, Panel)で、クラスの継承に併せてマークアップファイルも継承する機能ですよね。 ところが、Fragmentは対になるマークアップファイルを持ってません。Fragmentは他のコンテナに寄生して動くもので、コンストラクタで寄生する先のコンテナを指定するようになってますよね。寄生した先のマークアップファイルにタグがあることを期待してます。 そういう存在のFragmentクラスを継承しても、どのマークアップファイルを継承してよいのか特定できない(そもそも対になるマークアップファイルを持っていない)ので、Fragmentを継承してもマークアップ継承が働かないのは、それはそれで正しいように思いました。 Fragmentを継承したくなるようなケースでは、Panelの継承でいけるような気がするのですがどうでしょうか。 PanelではなくFragmentを継承したいというケースを教えていただければ、いろいろアイデアもあるかもしれません。 --------------------- 矢野 勉(やの つとむ) benbrand @ mac.com 08/09/09 (火曜日) 09:55AM、 "古川 烈" のメッセージ: >古川です、 >返答が遅くなり申し訳ございません。 >(最近仕事がとても。。。orz) > > >ありがとうございました。 > >大変勉強になりました。 > > > >なるほど、そういうことだったんですね。 >内容から考えるとFragmentはそもそもそういう使い方を想定していないのでしょうね。 >(つまりFragmentを継承したくなるような状況には他の解決策がある?) > >最良の方法で自分がフレームを利用できていたら良いのですが、 >最近ますます自信が無くなってきました;; > From r_f_315 @ hotmail.com Tue Sep 9 12:45:04 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Tue, 9 Sep 2008 03:45:04 +0000 Subject: [Wicket-ja-user 221] =?iso-2022-jp?b?IFJFOiAgUmU6IEZyYWdtZW50GyRCJEg3UT41JEskRCQkGyhC?= =?iso-2022-jp?b?GyRCJEYbKEI=?= In-Reply-To: <128278352060841468744422082765622836282-Webmail2@me.com> References: <5BB72DD7-C7F8-4E94-82C9-DEF8A89DE592@mac.com> <128278352060841468744422082765622836282-Webmail2@me.com> Message-ID: 古川です Fragmentを継承したくなった状況というのは下記の状況です。 あるを考えた場合、ヘッダー部分に列の内容を表す
が来てデータ部分はになりますよね? をパネル化し、に対して列単位での操作をするためがリストでを保持するようにしました。 さらに、デザイナー的な視点で見ると、元のマークアップファイルはが同時に見えてデザインした方がやりやすいように思いました。 このとき、の視点でみると自分が管理すべきの型は知っていて当然なわけで、の生成などのマネージメント機能を 保持していてもおかしくないと思うのです。 後は取り扱うデータの種類の増加にしたがってのマークアップファイルとソースが増えるのを嫌ったというのもあります。 そこでをFragmentとして持たせました。 その後、もSwingにあるような列の入れ替えなどの様々な共通機能を持たせたいと思い ,のようなAbstractな親クラスで表現しようとしました。 「しかしにおいてのマークアップファイルが使用されてしまう!!」 という今回の問題が発生した。 Table側に管理機能を持たせれば全て解決だったのかもしれません。。。 個人的に、あるオブジェクトの管理機能をそれを統括するするクラスに書くより、 そのクラスそのものに再起処理的なコードで書く癖がありまして、 例えば上記の列入れ替えなら よくナビゲーションに使われる >> とかの場合 >>が押されたら自分の隣を見てまだ参照がnullでなければ 横移動 > ∞ というような。 以上です。 > Date: Tue, 9 Sep 2008 12:06:37 +0900 > From: benbrand @ mac.com > To: wicket-ja-user @ lists.sourceforge.jp > Subject: [Wicket-ja-user 220] Re: Fragmentと継承について > > この件返事し忘れてました。。。 > > 技術的なところはすでにコメントが入っているので、考え方的なところで書いてみます。 > > マークアップ継承は、マークアップファイルと対になってるタイプのコンテナ(Page, Panel)で、クラスの継承に併せてマークアップファイルも継承する機能ですよね。 > > ところが、Fragmentは対になるマークアップファイルを持ってません。Fragmentは他のコンテナに寄生して動くもので、コンストラクタで寄生する先のコンテナを指定するようになってますよね。寄生した先のマークアップファイルにタグがあることを期待してます。 > > そういう存在のFragmentクラスを継承しても、どのマークアップファイルを継承してよいのか特定できない(そもそも対になるマークアップファイルを持っていない)ので、Fragmentを継承してもマークアップ継承が働かないのは、それはそれで正しいように思いました。 > > > Fragmentを継承したくなるようなケースでは、Panelの継承でいけるような気がするのですがどうでしょうか。 > PanelではなくFragmentを継承したいというケースを教えていただければ、いろいろアイデアもあるかもしれません。 > > > --------------------- > 矢野 勉(やの つとむ) > benbrand @ mac.com > > > 08/09/09 (火曜日) 09:55AM、 "古川 烈" のメッセージ: > >古川です、 > >返答が遅くなり申し訳ございません。 > >(最近仕事がとても。。。orz) > > > > > >ありがとうございました。 > > > >大変勉強になりました。 > > > > > > > >なるほど、そういうことだったんですね。 > >内容から考えるとFragmentはそもそもそういう使い方を想定していないのでしょうね。 > >(つまりFragmentを継承したくなるような状況には他の解決策がある?) > > > >最良の方法で自分がフレームを利用できていたら良いのですが、 > >最近ますます自信が無くなってきました;; > > > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _________________________________________________________________ 秋本番!連休たくさんのこの秋、みんなのオススメ週末旅行をチェックしよう http://clk.atdmt.com/GBL/go/112813570/direct/01/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080909/7f02ff81/attachment.htm From susumu.ishigami @ gmail.com Wed Sep 17 13:16:31 2008 From: susumu.ishigami @ gmail.com (Susumu ISHIGAMI) Date: Wed, 17 Sep 2008 13:16:31 +0900 Subject: [Wicket-ja-user 222] =?iso-2022-jp?b?SFRNTBskQiVGJXMlVyVsITwlSCROQFokakosJDEkSyREGyhC?= =?iso-2022-jp?b?GyRCJCQkRhsoQg==?= Message-ID: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> 初めまして、石上と申します。JavaでWebベースのシステムを開発している会社に勤務するプログラマーです。 今までは自社開発のフルスタックフレームワークを主に使っていて、 wicketは初心者なのですが、業務でWicketの利用を検討しています。 現在はWicket in Actionを読んだりしています。 よろしくお願いいたします。 一点どうしても、わからない懸念事項があり、ここに質問をさせていただきます。 質問: HTMLテンプレートを1つのページクラスに対して複数用意して、 実行時に切り替えて使用することはできますでしょうか? やりたいことは、 システムを複数のユーザに使ってもらい、 ユーザごとにページのレイアウトを変更できるような (いくつかのテンプレート集から選択したり、後からより詳細にレイアウトをアップロードできる) ASPシステムを構築したいと思っています。 私の方で調べた結果、 普通にWicketを使用すると、ページクラスとページHTMLは1対1で対応されてしまうので、 ページクラスを継承しない限り、ページのテンプレートを変更できないと理解しています。 OSGiを使用すれば、動的にページクラスのロード・アンロードができそうなのですが、 もっと気軽にHTMLテンプレートだけを切り替えられれば十分なので、現段階では できればそれで対応したいと考えています。 // 本当は、内心OSGiに挑戦してみたい(ちなみに予備知識なし:D)のですが、 // 仕事ですんで、スケジュールがありまして(;_;) // ですから、「いやいや、OSGiって超簡単だよ」と // おっしゃって下さっても、それはそれで結構です。(^^; Wicketのソースコードを変更しなければいけない場合は、 その箇所などを教えてくださればと思います。 私もWicketのソースコードをダウンロードしましたが、どこから 手をつければいいのかわかりませんでした。 以上 よろしくお願いします。 -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080917/0ce4318d/attachment.htm From tetsuyas @ tc5.so-net.ne.jp Wed Sep 17 14:30:12 2008 From: tetsuyas @ tc5.so-net.ne.jp (Tetsuya Sato) Date: Wed, 17 Sep 2008 14:30:12 +0900 Subject: [Wicket-ja-user 223] Re: =?iso-2022-jp?b?SFRNTBskQiVGJXMlVyVsITwlSCROQFokakosJDEbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> References: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> Message-ID: 佐藤と申します。 いつもお世話になっております。 おそらく、下記のページに示す方法で ご希望の処理ができると思います。 http://d.hatena.ne.jp/Kishi/20080530/1212162092 Pageのマークアップのファイルを変更する方法 ご参考まで >初めまして、石上と申します。JavaでWebベースのシステムを開発している会社に勤務 >するプログラマーです。 >今までは自社開発のフルスタックフレームワークを主に使っていて、 >wicketは初心者なのですが、業務でWicketの利用を検討しています。 >現在はWicket in Actionを読んだりしています。 >よろしくお願いいたします。 > >一点どうしても、わからない懸念事項があり、ここに質問をさせていただきます。 > >質問: > >HTMLテンプレートを1つのページクラスに対して複数用意して、 >実行時に切り替えて使用することはできますでしょうか? > >やりたいことは、 > >システムを複数のユーザに使ってもらい、 >ユーザごとにページのレイアウトを変更できるような > (いくつかのテンプレート集から選択したり、後からより詳細にレイアウトをアップ >ロードできる) >ASPシステムを構築したいと思っています。 > >私の方で調べた結果、 >普通にWicketを使用すると、ページクラスとページHTMLは1対1で対応されてしまう >ので、 >ページクラスを継承しない限り、ページのテンプレートを変更できないと理解してい >ます。 > >OSGiを使用すれば、動的にページクラスのロード・アンロードができそうなのですが、 >もっと気軽にHTMLテンプレートだけを切り替えられれば十分なので、現段階では > できればそれで対応したいと考えています。 > >// 本当は、内心OSGiに挑戦してみたい(ちなみに予備知識なし:D)のですが、 >// 仕事ですんで、スケジュールがありまして(;_;) >// ですから、「いやいや、OSGiって超簡単だよ」と >// おっしゃって下さっても、それはそれで結構です。(^^; > >Wicketのソースコードを変更しなければいけない場合は、 >その箇所などを教えてくださればと思います。 >私もWicketのソースコードをダウンロードしましたが、どこから >手をつければいいのかわかりませんでした。 > >以上 > >よろしくお願いします。 > >------------------------------------------------------------------------ > >_______________________________________________ >Wicket-ja-user mailing list >Wicket-ja-user @ lists.sourceforge.jp >http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user -- kouna.ru http://kouna.ru/ 予測コミュニティ実験中 -- 静岡大学情報学部情報社会学科 佐藤哲也 自由に市場を作れる予測市場実験を行っています。 http://kouna.ru/ どなたでもご利用頂けますので、ぜひお試し下さい。 From susumu.ishigami @ gmail.com Wed Sep 17 18:55:53 2008 From: susumu.ishigami @ gmail.com (Susumu ISHIGAMI) Date: Wed, 17 Sep 2008 18:55:53 +0900 Subject: [Wicket-ja-user 224] Re: =?iso-2022-jp?b?SFRNTBskQiVGJXMlVyVsITwlSCROQFokakosJDEbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: References: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> Message-ID: <387247140809170255s10c2696ble81f3fe82b3d525b@mail.gmail.com> 石上です。 早速ご回答ありがとうございます。 そのサイトは見ていませんでした。 あと、英語版のWikiも読んでいませんでした。 なるほど、ページクラスにgetVariantをオーバーライドすれば index_hogehoge.htmlのようなページが使えるのですね。 勉強になりました。 当方都合により、土曜日までPCに触れないので(このメールは携帯から書いています)、 詳しく調べられないのですが、 できればユーザごとの別のディレクトリに固めて置ければメンテが楽ではないかと思います。 From r_f_315 @ hotmail.com Fri Sep 19 11:18:24 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Fri, 19 Sep 2008 02:18:24 +0000 Subject: [Wicket-ja-user 225] =?iso-2022-jp?b?SFRNTBskQiROJT8lMCRyPXw1biQ5JGtKfUshGyhC?= In-Reply-To: References: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> Message-ID: 古川です、 例えば "hogehoge
hugahuga" というような、 HTMLのタグを内部に持つ文字列に関して質問があります。 やりたいことは、"hogehoge
hugahuga" を "hogehogehugahuga" にすることです。 Label に設定するときにLabel.setEscapeModelStrings( false ); すれば元々保持していたHTMLタグがエスケープされずに出力されるのは分かるのですが、
部分を無視しながらLabelに設定する機能ってWicketに存在するのでしょうか??? (画面表示時にただ hogehogehugahuga とだけ表示されていたい) また、Wicketに限らず文字列操作で「こうすれば簡単にできるよ」というのはありますでしょうか? 以上、よろしくお願い致します。 --------------------------------------------------- 古川 烈(ふるかわ れつ) 電子メール:r_f_315 @ hotmail.com --------------------------------------------------- _________________________________________________________________ あなたが困ったことは日本の誰かも困ってる?相談箱で調べてみよう! http://clk.atdmt.com/GBL/go/112817927/direct/01/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080919/382e9915/attachment.htm From r_f_315 @ hotmail.com Fri Sep 19 14:22:47 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Fri, 19 Sep 2008 05:22:47 +0000 Subject: [Wicket-ja-user 226] =?iso-2022-jp?b?IFJFOiAJSFRNTBskQiROJT8lMCRyPXw1biQ5JGtKfUshGyhC?= In-Reply-To: References: <387247140809162116y3f109864k96b38c764862c48e@mail.gmail.com> Message-ID: 古川です、 自己解決しました。 よくよく考えたらDomツリーの構造構造無視して中身設定するようなメソッドあるわけがないですよね。。。 素直に正規表現でタグだけ落としました。 Wicket全然関係ない話でした。 ログ汚して申し訳ありませんでした。 From: r_f_315 @ hotmail.com To: wicket-ja-user @ lists.sourceforge.jp Date: Fri, 19 Sep 2008 02:18:24 +0000 Subject: [Wicket-ja-user 225] HTMLのタグを除去する方法 古川です、 例えば "hogehoge
hugahuga" というような、 HTMLのタグを内部に持つ文字列に関して質問があります。 やりたいことは、"hogehoge
hugahuga" を "hogehogehugahuga" にすることです。 Label に設定するときにLabel.setEscapeModelStrings( false ); すれば元々保持していたHTMLタグがエスケープされずに出力されるのは分かるのですが、
部分を無視しながらLabelに設定する機能ってWicketに存在するのでしょうか??? (画面表示時にただ hogehogehugahuga とだけ表示されていたい) また、Wicketに限らず文字列操作で「こうすれば簡単にできるよ」というのはありますでしょうか? 以上、よろしくお願い致します。 --------------------------------------------------- 古川 烈(ふるかわ れつ) 電子メール:r_f_315 @ hotmail.com --------------------------------------------------- あなたが困ったことは日本の誰かも困ってる?相談箱で調べてみよう! ※)Hotmailで困ったこと。MSN相談箱へ _________________________________________________________________ Hotmail をお使いの皆様だけに低価格ブロードバンドサービス! http://campaign.live.jp/eaccess/Top/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080919/d3af599f/attachment.htm From susumu.ishigami @ gmail.com Mon Sep 29 11:20:22 2008 From: susumu.ishigami @ gmail.com (Susumu ISHIGAMI) Date: Mon, 29 Sep 2008 11:20:22 +0900 Subject: [Wicket-ja-user 227] =?iso-2022-jp?b?Rm9ybRskQiRHGyhCQ29tcG9uZW50UmVzb2x2ZXI=?= =?iso-2022-jp?b?GyRCJHI7SE1RJDckPyQkGyhC?= Message-ID: <387247140809281920j687a9000ma84abaf217460a45@mail.gmail.com> 石上です。お世話になっています。 今開発中のもので、IComponentResolverを積極的に使用しようと考えています。 思惑としては、データベースの定義から適切な入力フォームを自動で生成するような仕組みを作りたくて、 その前段階として、次のようなクラスを作りました。 ============================================ public class AutoForm extends Form implements IComponentResolver { 〜 コンストラクタ省略〜 public boolean resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) { Component result = resolveComponent(container, markupStream, tag); if (result == null) { return false; } return container.autoAdd(result, markupStream); } // 実際に使うときはこのメソッドをChainOfResponsivilityパターンのようにする。 private static Component resolveComponent(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) { if (tag.isAutoComponentTag()) { return null; } String tagName = tag.getName().toLowerCase(); if (tagName.equals("input")) { String type = tag.getAttributes().getString("type").toLowerCase(); if (type.equals("text")) { return new TextField(tag.getId()); } } else if (Arrays.asList(new String[] {"p", "div", "td", "th", "li", "dd"}).contains(tagName)) { return new MultiLineLabel(tag.getId()); } // その他はデフォルトでラベル return new Label(tag.getId()); } } ============================================ HTML側の定義がの場合は、TextFieldを作成という感じです。 モデルに関しては、Formクラス初期化時にCompoundPropertyModelのように振る舞う自作のクラス※をセットしています。 ※社内のフレームワークが独自のデータ構造を取るため仕方なく作成しました。 ところが、これが、思ったように動かきません。 ・ページクラスのコンストラクタで、モデルオブジェクトに値をセットすると、テキストフィールドにその値が表示されます。 ・ページでテキストボックスに入力をしてsubmitをしても、値がモデルに反映されません ・遷移先のページでは入力した値がかき消されて元の値が表示されてしまいます。 ・resolverを使用しないで、手動でadd(new TextField("HOGEHOGE")をした場合は、ちゃんと、データモデルの値に反映されます。 ・return new TextField(tag.getId());の行にブレークポイントを置いてデバッグするとちゃんと到達しているようです。 (初期表示時・submit時共に) ちなみにWicket1.3.4です。 JDKは1.4.2です。 私の力ではどうにも意味がわかりません。 どうかお力をください。 よろしくお願いします。 -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080929/b0d0eab0/attachment.htm From webmaster @ chimera.st Mon Sep 29 16:35:42 2008 From: webmaster @ chimera.st (TAKEUCHI Hideyuki) Date: Mon, 29 Sep 2008 16:35:42 +0900 Subject: [Wicket-ja-user 228] Re: =?iso-2022-jp?b?Rm9ybRskQiRHGyhCQ29tcG9uZW50UmVzb2x2ZXI=?= =?iso-2022-jp?b?GyRCJHI7SE1RJDckPyQkGyhC?= In-Reply-To: <387247140809281920j687a9000ma84abaf217460a45@mail.gmail.com> References: <387247140809281920j687a9000ma84abaf217460a45@mail.gmail.com> Message-ID: <48E0854E.3060705@chimera.st> たけうちです。 autoAddでコンポーネントを追加すると、内部的にAUTOというフラグが 立つのですが、これが立っているとフォームデータの解析フェーズが 飛ばされてしまい、結果としてModelにデータが入力されません。 FormComponentの場合は、autoAddではなく下のようなメソッドを 自作し利用する必要があります。問題なく動きますが、 OpenではないAPIを使用するためその辺理解した上で利用してください。 1.4のソースになってしまいますが、全文を添付しておきます。 public boolean addForRender(Component component, MarkupContainer container, MarkupStream markupStream) { container.internalAdd(component); component.prepareForRender(); try { if (markupStream == null) { component.render(); } else { component.render(markupStream); } } finally { component.afterRender(); } return true; } ではでは。 -- たけうち Susumu ISHIGAMI さんは書きました: > 石上です。 > お世話になっています。 > > 今開発中のもので、IComponentResolverを積極的に使用しようと考えています。 > > 思惑としては、データベースの定義から適切な入力フォームを自動で生成するよ > うな仕組みを作りたくて、 > その前段階として、次のようなクラスを作りました。 > > ============================================ > > public class AutoForm extends Form implements IComponentResolver { > 〜 コンストラクタ省略〜 > public boolean resolve(MarkupContainer container, MarkupStream > markupStream, ComponentTag tag) { > Component result = resolveComponent(container, markupStream, tag); > if (result == null) { > return false; > } > return container.autoAdd(result, markupStream); > } > > // 実際に使うときはこのメソッドをChainOfResponsivilityパターンのようにする。 > private static Component resolveComponent(MarkupContainer container, > MarkupStream markupStream, ComponentTag tag) { > if (tag.isAutoComponentTag()) { > return null; > } > String tagName = tag.getName().toLowerCase(); > if (tagName.equals("input")) { > String type = tag.getAttributes().getString("type").toLowerCase(); > if (type.equals("text")) { > return new TextField(tag.getId()); > } > } else if (Arrays.asList(new String[] {"p", "div", "td", "th", "li", > "dd"}).contains(tagName)) { > return new MultiLineLabel(tag.getId()); > } > // その他はデフォルトでラベル > return new Label(tag.getId()); > } > } > > ============================================ > > HTML側の定義がの場合は、TextFieldを作成という感じです。 > モデルに関しては、Formクラス初期化時にCompoundPropertyModelのように振る > 舞う自作のクラス※をセットしています。 > ※社内のフレームワークが独自のデータ構造を取るため仕方なく作成しました。 > > ところが、これが、思ったように動かきません。 > ・ページクラスのコンストラクタで、モデルオブジェクトに値をセットすると、 > テキストフィールドにその値が表示されます。 > ・ページでテキストボックスに入力をしてsubmitをしても、値がモデルに反映さ > れません > ・遷移先のページでは入力した値がかき消されて元の値が表示されてしまいます。 > ・resolverを使用しないで、手動でadd(new TextField("HOGEHOGE")をした場合 > は、ちゃんと、データモデルの値に反映されます。 > ・return new TextField(tag.getId());の行にブレークポイントを置いてデバッ > グするとちゃんと到達しているようです。 >  (初期表示時・submit時共に) > > ちなみにWicket1.3.4です。 > JDKは1.4.2です。 > > 私の力ではどうにも意味がわかりません。 > どうかお力をください。 > よろしくお願いします。 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user -------------- next part -------------- 文字コード指定の無い添付文書を保管しました... 名前: SelfResolveForm.java URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080929/09d06823/attachment.txt From r_f_315 @ hotmail.com Tue Sep 30 10:20:30 2008 From: r_f_315 @ hotmail.com (=?iso-2022-jp?B?GyRCOEVAbhsoQiAbJEJOdRsoQg==?=) Date: Tue, 30 Sep 2008 01:20:30 +0000 Subject: [Wicket-ja-user 229] =?iso-2022-jp?b?V2lja2V0GyRCJEckMyRzJEpKKiQsOm4kbCReJDckPyEjGyhC?= Message-ID: 古川です。 プレゼンと言いますか、成果報告と言いますか、 作成したものがあるので、皆様に見ていただきたいと思い投稿です。 自分がメーリングリストに初投稿したのは2008/06/26ですが、 矢野様、並びの他の先達のおかげで、まったく無知の状態ではじめたWicketで 約3ヶ月で「このぐらいのものは作れましたよ。」という内容です。 既存のサイトとの兼ね合いに時間を取られたのもあったので、 この内容だけなら実際はもっと短い期間で作成できると思います。 (商用サイト、個人サイトに限らずWicketを始める人の何かの指標になれば良いかなと。。。) 作成したページは下記になります。 http://www.hokende.com/insurancemarket/comparison/category/life よく見かける商品比較のサイトです。 ※まだ開発途中で生命保険だけ本稼動中です。今後どんどん拡張していく予定です 構成は「Wicket1.3.4 + Tomcat + Hibernate + Oracle」です。 大まかなサイト構造としては、 BasePage extends WebPage { <-- ヘッダー部分 <-- メインコンテンツ部分 <-- フッター部分 } となっています。 使用しているWicketの技術としては下記になります。 1.URL部分     <- NiceURLでクローラー対策をとりました。 2.セッション部分  <- BasePageでSession.getClientInfo()を利用してJsessionIDがURLに付かないようにしました。 3.ロード画面    <- クライアント情報を取得するときに、一瞬現れる画面を変更しました。(BrowserInfoPage) 4.ヘッダーフッター <- を利用しました。 5.ページ全体 <- 共通処理などを入れるためにBasePageとして継承元としました。 6.項目のPopUp説明 <- extensionsのModalWindowを利用しました。 7.ボタンやリンク <- 比較機能に関するほとんどの動作をAjaxで作成しました。(wicketの機能だけで出来ています。) だいたいこんな感じで、Wicketの初歩的な技術しか使用してないと思います。 (逆に言えば、初歩的な技術だけでここまでやれるWicketが素晴らしいと思います) 「ここはどうなっているんだ?」 とか、 「ここはたぶんこうやって作っただろうけど、こうしたほうが良いよ」 等、質問でも何でもコメント頂けるとうれしいです。 以上、失礼します。 追伸:商品を比較して資料請求して頂けると、開発費が多く出て自分が幸せになれます;-p --------------------------------------------------- 古川 烈(ふるかわ れつ) 電子メール:r_f_315 @ hotmail.com --------------------------------------------------- _________________________________________________________________ 秋本番!連休たくさんのこの秋、みんなのオススメ週末旅行をチェックしよう http://clk.atdmt.com/GBL/go/112813570/direct/01/ -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20080930/226d3c3b/attachment.htm