From aaakenaaa777 @ gmail.com Mon Feb 6 16:41:12 2012 From: aaakenaaa777 @ gmail.com (maeda) Date: Mon, 06 Feb 2012 16:41:12 +0900 Subject: [Wicket-ja-user 607] =?iso-2022-jp?b?TGlzdFZpZXcgGyRCJHJGYiRLGyhCRmlsZVVwbG9hZEZpZWxk?= =?iso-2022-jp?b?GyRCO0hNUTt+JE4bKEJXaWNrZXROb3RTZXJpYWxpemFibGVF?= =?iso-2022-jp?b?eGNlcHRpb24bJEIkTkJQPWhKfUshGyhC?= In-Reply-To: References: Message-ID: <4f2f841f.69aa320a.4cbf.03ba@mx.google.com> いつもお世話になっております。 maedaです。 ListView内にFileUploadFieldを配置し 複数のファイルを一度にアップロードする処理を行っているのですが 処理は正しく行われますが、ログに以下の例外が表示されてしまいします。 SessionStoreにDiskPageStoreを指定しているので DeferredFileOutputStreamクラスがシリアライズできないといわれて怒られているということでしょうか? SessionStoreにHttpSessionStoreを指定することにより下記例外は表示されなくなったのですが DiskPageStoreを指定したままで他に対応策等ありませんでしょうか? 分かりにくい説明ですが、よろしくお願いいたします。 ログ Field hierarchy is: 4 [class=iandc.wicket.page.pdf.upload.PdfFindList, path=4] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.form.Form, path=4:form] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] java.util.HashMap iandc.wicket.validation.validator.InputValidator.map[write:1][write:2][4] [class=iandc.wicket.page.pdf.upload.PdfFindList$3, path=4:form:list] java.lang.Object org.apache.wicket.Component.data [class=org.apache.wicket.model.util.WildcardListModel] private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object [class=java.util.ArrayList] private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object[write:1] [class=iandc.wicket.form.pdf.PdfFindListBean] private org.apache.wicket.markup.html.form.upload.FileUpload iandc.wicket.form.pdf.PdfFindListBean.fileUploadField [class=org.apache.wicket.markup.html.form.upload.FileUpload] private final org.apache.wicket.util.upload.FileItem org.apache.wicket.markup.html.form.upload.FileUpload.item [class=org.apache.wicket.util.upload.DiskFileItem] private org.apache.wicket.util.io.DeferredFileOutputStream org.apache.wicket.util.upload.DiskFileItem.dfos [class=org.apache.wicket.util.io.DeferredFileOutputStream] <----- field that is not serializable 以下テストソース public class TestPage extends AuthenticatedWebPage implements Const { Form form; List list; /** * * 初期処理 * * */ public TestPage(FindBean findBean) { //FORM form = new Form("form",new CompoundPropertyModel(findBean)); form.setMultiPart(true); this.add(form); //一覧取得 list = service.find(pdfFindBean); //一覧 final ListView listview = new ListView("list",pdfList){ @Override protected void populateItem(final ListItem listItem) { final TestBean buf = (TestBean) listItem.getModelObject(); //各項目 listItem.setModel(new CompoundPropertyModel(buf)); listItem.add(new Label("no")); listItem.add(new FileUploadField("fileUploadField")); } }; form.add(listview); form.add(uploadLink); } /** * * アップロード * */ private SubmitLink uploadLink = new SubmitLink("uploadLink"){ @Override public void onSubmit(){ for(TestBean buf:list){ if(buf.getFileUploadField() == null){ continue; } } } }; } public class TestBean extends implements Serializable { private String no; private Integer key; private FileUpload fileUploadField; //以下略・・・。 } From t_yano @ me.com Mon Feb 6 23:24:45 2012 From: t_yano @ me.com (Tsutomu Yano) Date: Mon, 06 Feb 2012 23:24:45 +0900 Subject: [Wicket-ja-user 608] Re: =?iso-2022-jp?b?TGlzdFZpZXcgGyRCJHJGYiRLGyhCRmlsZVVwbG9hZEZp?= =?iso-2022-jp?b?ZWxkGyRCO0hNUTt+JE4bKEJXaWNrZXROb3RTZXJpYWxpemFibGVFeGNl?= =?iso-2022-jp?b?cHRpb24bJEIkTkJQPWhKfUshGyhC?= In-Reply-To: <4f2f841f.69aa320a.4cbf.03ba@mx.google.com> References: <4f2f841f.69aa320a.4cbf.03ba@mx.google.com> Message-ID: <13E9CB08-97F3-48BF-BB09-5E357A2E9C0D@me.com> 矢野です。 FileUploadクラスの解説にあるように、FileUploadFieldのモデル値であるFileUploadオブジェクトを格納するフィールドには、transientを指定してください。 http://wicket.apache.org/apidocs/1.5/org/apache/wicket/markup/html/form/upload/FileUpload.html これにより、FileUploadオブジェクトはシリアライズ対象にならないので、DiskPageStoreのままでもエラーが起きなくなると思います。 FileUploadField の方のJavaDocにも重要なコメントがあって、 http://wicket.apache.org/apidocs/1.5/org/apache/wicket/markup/html/form/upload/FileUploadField.html FileUploadFieldのモデル値は、リクエスト・レスポンスの終わりでリセットされるので、ファイルを受信したら、レスポンスを返すまでに、すぐに処理しなさい、という話です。FileUploadオブジェクトの持つDeferredFileOutputStreamがクローズされてしまうからです。 逆に言えば、上記のことにより、FileUploadFieldのモデル値であるFileUploadオブジェクトをセッション維持しておく意味はないので、フィールドをtransientにしてしまっても大丈夫だということです。 ちなみに、HttpSessionStoreに変えると、DiskPageStoreへのシリアライズがなくなるので一旦はワーニングが出なくなりますが、サーブレットコンテナはどのみちHttpSessionをシリアライズするんでしょうし、問題は残るはずです。問題がWicketが関知するところの外に出てしまったってだけで。 --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール: t_yano @ me.com --------------------------------------------------- On 2012/02/06, at 16:41, maeda wrote: > いつもお世話になっております。 > maedaです。 > > ListView内にFileUploadFieldを配置し > 複数のファイルを一度にアップロードする処理を行っているのですが > 処理は正しく行われますが、ログに以下の例外が表示されてしまいします。 > > > SessionStoreにDiskPageStoreを指定しているので > DeferredFileOutputStreamクラスがシリアライズできないといわれて怒られているということでしょうか? > > SessionStoreにHttpSessionStoreを指定することにより下記例外は表示されなくなったのですが > DiskPageStoreを指定したままで他に対応策等ありませんでしょうか? > > 分かりにくい説明ですが、よろしくお願いいたします。 > > ログ > Field hierarchy is: > 4 [class=iandc.wicket.page.pdf.upload.PdfFindList, path=4] > private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.form.Form, path=4:form] > private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] > java.util.HashMap iandc.wicket.validation.validator.InputValidator.map[write:1][write:2][4] [class=iandc.wicket.page.pdf.upload.PdfFindList$3, path=4:form:list] > java.lang.Object org.apache.wicket.Component.data [class=org.apache.wicket.model.util.WildcardListModel] > private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object [class=java.util.ArrayList] > private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object[write:1] [class=iandc.wicket.form.pdf.PdfFindListBean] > private org.apache.wicket.markup.html.form.upload.FileUpload iandc.wicket.form.pdf.PdfFindListBean.fileUploadField [class=org.apache.wicket.markup.html.form.upload.FileUpload] > private final org.apache.wicket.util.upload.FileItem org.apache.wicket.markup.html.form.upload.FileUpload.item [class=org.apache.wicket.util.upload.DiskFileItem] > private org.apache.wicket.util.io.DeferredFileOutputStream org.apache.wicket.util.upload.DiskFileItem.dfos [class=org.apache.wicket.util.io.DeferredFileOutputStream] <----- field that is not serializable > > > > 以下テストソース > public class TestPage extends AuthenticatedWebPage implements Const { > > Form form; > List list; > > /** > * > * 初期処理 > * > * > */ > public TestPage(FindBean findBean) { > //FORM > form = new Form("form",new CompoundPropertyModel(findBean)); > form.setMultiPart(true); > this.add(form); > > //一覧取得 > list = service.find(pdfFindBean); > > //一覧 > final ListView listview = new ListView("list",pdfList){ > @Override > protected void populateItem(final ListItem listItem) { > final TestBean buf = (TestBean) listItem.getModelObject(); > > //各項目 > listItem.setModel(new CompoundPropertyModel(buf)); > listItem.add(new Label("no")); > listItem.add(new FileUploadField("fileUploadField")); > } > }; > form.add(listview); > > form.add(uploadLink); > > } > > /** > * > * アップロード > * > */ > private SubmitLink uploadLink = new SubmitLink("uploadLink"){ > @Override > public void onSubmit(){ > for(TestBean buf:list){ > if(buf.getFileUploadField() == null){ > continue; > } > } > > } > }; > > } > > > > public class TestBean extends implements Serializable { > private String no; > private Integer key; > private FileUpload fileUploadField; > > //以下略・・・。 > } > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From aaakenaaa777 @ gmail.com Tue Feb 7 15:17:41 2012 From: aaakenaaa777 @ gmail.com (maeda) Date: Tue, 07 Feb 2012 15:17:41 +0900 Subject: [Wicket-ja-user 609] Re: =?iso-2022-jp?b?TGlzdFZpZXcgGyRCJHJGYiRLGyhCRmlsZVVwbG9hZEZp?= =?iso-2022-jp?b?ZWxkGyRCO0hNUTt+JE4bKEJXaWNrZXROb3RTZXJpYWxpemFi?= =?iso-2022-jp?b?bGVFeGNlcHRpb24bJEIkTkJQPWhKfUshGyhC?= In-Reply-To: <13E9CB08-97F3-48BF-BB09-5E357A2E9C0D@me.com> References: <13E9CB08-97F3-48BF-BB09-5E357A2E9C0D@me.com> Message-ID: <4f30c20d.d638e70a.0cb8.5267@mx.google.com> maedaです。 矢野様、返信ありがとうございます。 FileUpload格納オブジェクトに対しtransientを指定することにより 例外も出ずに無事にアップロードすることが出来ました。 ありがとうございました。 Tsutomu Yano wrote: > 矢野です。 > > FileUploadクラスの解説にあるように、FileUploadFieldのモデル値であるFileUploadオブジェクトを格納するフィールドには、transientを指定してください。 > > http://wicket.apache.org/apidocs/1.5/org/apache/wicket/markup/html/form/upload/FileUpload.html > > これにより、FileUploadオブジェクトはシリアライズ対象にならないので、DiskPageStoreのままでもエラーが起きなくなると思います。 > FileUploadField の方のJavaDocにも重要なコメントがあって、 > > http://wicket.apache.org/apidocs/1.5/org/apache/wicket/markup/html/form/upload/FileUploadField.html > > FileUploadFieldのモデル値は、リクエスト・レスポンスの終わりでリセットされるので、ファイルを受信したら、レスポンスを返すまでに、すぐに処理しなさい、という話です。FileUploadオブジェクトの持つDeferredFileOutputStreamがクローズされてしまうからです。 > > 逆に言えば、上記のことにより、FileUploadFieldのモデル値であるFileUploadオブジェクトをセッション維持しておく意味はないので、フィールドをtransientにしてしまっても大丈夫だということです。 > > ちなみに、HttpSessionStoreに変えると、DiskPageStoreへのシリアライズがなくなるので一旦はワーニングが出なくなりますが、サーブレットコンテナはどのみちHttpSessionをシリアライズするんでしょうし、問題は残るはずです。問題がWicketが関知するところの外に出てしまったってだけで。 > > --------------------------------------------------- > 矢野 勉(やの つとむ) > 電子メール: t_yano @ me.com > --------------------------------------------------- > > On 2012/02/06, at 16:41, maeda wrote: > > > いつもお世話になっております。 > > maedaです。 > > > > ListView内にFileUploadFieldを配置し > > 複数のファイルを一度にアップロードする処理を行っているのですが > > 処理は正しく行われますが、ログに以下の例外が表示されてしまいします。 > > > > > > SessionStoreにDiskPageStoreを指定しているので > > DeferredFileOutputStreamクラスがシリアライズできないといわれて怒られているということでしょうか? > > > > SessionStoreにHttpSessionStoreを指定することにより下記例外は表示されなくなったのですが > > DiskPageStoreを指定したままで他に対応策等ありませんでしょうか? > > > > 分かりにくい説明ですが、よろしくお願いいたします。 > > > > ログ > > Field hierarchy is: > > 4 [class=iandc.wicket.page.pdf.upload.PdfFindList, path=4] > > private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.form.Form, path=4:form] > > private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] > > java.util.HashMap iandc.wicket.validation.validator.InputValidator.map[write:1][write:2][4] [class=iandc.wicket.page.pdf.upload.PdfFindList$3, path=4:form:list] > > java.lang.Object org.apache.wicket.Component.data [class=org.apache.wicket.model.util.WildcardListModel] > > private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object [class=java.util.ArrayList] > > private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object[write:1] [class=iandc.wicket.form.pdf.PdfFindListBean] > > private org.apache.wicket.markup.html.form.upload.FileUpload iandc.wicket.form.pdf.PdfFindListBean.fileUploadField [class=org.apache.wicket.markup.html.form.upload.FileUpload] > > private final org.apache.wicket.util.upload.FileItem org.apache.wicket.markup.html.form.upload.FileUpload.item [class=org.apache.wicket.util.upload.DiskFileItem] > > private org.apache.wicket.util.io.DeferredFileOutputStream org.apache.wicket.util.upload.DiskFileItem.dfos [class=org.apache.wicket.util.io.DeferredFileOutputStream] <----- field that is not serializable > > > > > > > > 以下テストソース > > public class TestPage extends AuthenticatedWebPage implements Const { > > > > Form form; > > List list; > > > > /** > > * > > * 初期処理 > > * > > * > > */ > > public TestPage(FindBean findBean) { > > //FORM > > form = new Form("form",new CompoundPropertyModel(findBean)); > > form.setMultiPart(true); > > this.add(form); > > > > //一覧取得 > > list = service.find(pdfFindBean); > > > > //一覧 > > final ListView listview = new ListView("list",pdfList){ > > @Override > > protected void populateItem(final ListItem listItem) { > > final TestBean buf = (TestBean) listItem.getModelObject(); > > > > //各項目 > > listItem.setModel(new CompoundPropertyModel(buf)); > > listItem.add(new Label("no")); > > listItem.add(new FileUploadField("fileUploadField")); > > } > > }; > > form.add(listview); > > > > form.add(uploadLink); > > > > } > > > > /** > > * > > * アップロード > > * > > */ > > private SubmitLink uploadLink = new SubmitLink("uploadLink"){ > > @Override > > public void onSubmit(){ > > for(TestBean buf:list){ > > if(buf.getFileUploadField() == null){ > > continue; > > } > > } > > > > } > > }; > > > > } > > > > > > > > public class TestBean extends implements Serializable { > > private String no; > > private Integer key; > > private FileUpload fileUploadField; > > > > //以下略・・・。 > > } > > > > _______________________________________________ > > Wicket-ja-user mailing list > > Wicket-ja-user @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From t_fujihara @ comtec.kicnet.co.jp Mon Feb 20 21:50:37 2012 From: t_fujihara @ comtec.kicnet.co.jp (=?iso-2022-jp?B?GyRCRiM4NiEhOWJMQBsoQg==?=) Date: Mon, 20 Feb 2012 21:50:37 +0900 Subject: [Wicket-ja-user 610] =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLJEQbKEI=?= =?iso-2022-jp?b?GyRCJCQkRhsoQg==?= Message-ID: <002701ccefce$3e57e1b0$bb07a510$@kicnet.co.jp> お世話になっております。藤原と申します。 先日は質問にご返答いただきありがとうござました。 現在、DataViewとAjaxPagingNavigatorを使用して、 ページングのできるテーブルを作成しております。 テーブルの内容はDBに接続して取得しているのですが、 テーブルの中身を再取得した際に、 AjaxPagingNavigatorが生成するJavaScriptが更新されずに困っております。 (検索項目とその結果を表示するテーブルがあるイメージです。) DataProviderを使用してテーブル内の項目にセットしているモデルの中身を更新して いるのですが、 何か根本的に間違っているのでしょうか。 拙い質問で申し訳ございませんが、お力を貸していただけると助かります。 何卒よろしくお願いいたします。 //以下ソースです。 //一覧表の設定 BaseListDataProvider ListDP = new BaseListDataProvider(); final DataView baseView = new DataView("BaseList", ListDP, 10){ @Override protected void populateItem(Item item) { // TODO 自動生成されたメソッド・スタブ DummyBaseBean base = item.getModelObject(); item.add( new Label("Id", new PropertyModel(base, "strId"))); } }; //DataView内のItem要素は毎回破棄せずに再利用する baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); //DataViewにAjaxPagingNavigatorを利用する場合 //DataViewをWebMarkupContainerに配置する。(親要素が必要) WebMarkupContainer viewContainer = new WebMarkupContainer("Container"); // Ajaxで書き換える要素指定 viewContainer.setOutputMarkupId(true); viewContainer.add(baseView); add(viewContainer); // Paging設定 final AjaxPagingNavigator listNavigator = new AjaxPagingNavigator("navigator", baseView); listNavigator.setOutputMarkupId(true); add(listNavigator); //フォーム Form searchForm = new Form("SearchForm"); Button searchButton = new Button("SearchButton"){ @Override public void onSubmit(){ // ボタン押下でテーブル内容更新 ListDP.changeData(); } }; sarchForm.add(searchButton); add(searchForm); ****************************************************** キッセイコムテック株式会社 メディカルシステム事業部 第2SIグループ 藤原高明 〒390-1293  長野県松本市和田4010-10 TEL: 0263-60-1340 (直通) 0263-40-1122(代)  FAX:0263-48-1284 MAIL:t_fujihara @ comtec.kicnet.co.jp ****************************************************** From yskz.aoyama @ gmail.com Mon Feb 20 23:36:05 2012 From: yskz.aoyama @ gmail.com (Yoshikazu Aoyama) Date: Mon, 20 Feb 2012 23:36:05 +0900 Subject: [Wicket-ja-user 611] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: <002701ccefce$3e57e1b0$bb07a510$@kicnet.co.jp> References: <002701ccefce$3e57e1b0$bb07a510$@kicnet.co.jp> Message-ID: 青山です。 ボタンを押してもテーブルの内容がAjaxで更新されない、ということでしょうか? データの再取得後、AjaxRequestTargetに再描画したいコンポーネントを addComponent()すれば再描画されると思います。 2012/2/20 藤原 高明 : > お世話になっております。藤原と申します。 > 先日は質問にご返答いただきありがとうござました。 > > 現在、DataViewとAjaxPagingNavigatorを使用して、 > ページングのできるテーブルを作成しております。 > テーブルの内容はDBに接続して取得しているのですが、 > テーブルの中身を再取得した際に、 > AjaxPagingNavigatorが生成するJavaScriptが更新されずに困っております。 > (検索項目とその結果を表示するテーブルがあるイメージです。) > > DataProviderを使用してテーブル内の項目にセットしているモデルの中身を更新して > いるのですが、 > 何か根本的に間違っているのでしょうか。 > 拙い質問で申し訳ございませんが、お力を貸していただけると助かります。 > 何卒よろしくお願いいたします。 > > > //以下ソースです。 > //一覧表の設定 > BaseListDataProvider ListDP = new BaseListDataProvider(); > final DataView baseView = new DataView("BaseList", > ListDP, 10){ > @Override > protected void populateItem(Item item) { > // TODO 自動生成されたメソッド・スタブ > DummyBaseBean base = item.getModelObject(); > item.add( new Label("Id", new PropertyModel(base, > "strId"))); > } > }; > > //DataView内のItem要素は毎回破棄せずに再利用する > baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); > > //DataViewにAjaxPagingNavigatorを利用する場合 > //DataViewをWebMarkupContainerに配置する。(親要素が必要) > WebMarkupContainer viewContainer = new WebMarkupContainer("Container"); > // Ajaxで書き換える要素指定 > viewContainer.setOutputMarkupId(true); > viewContainer.add(baseView); > add(viewContainer); > > // Paging設定 > final AjaxPagingNavigator listNavigator = new > AjaxPagingNavigator("navigator", baseView); > listNavigator.setOutputMarkupId(true); > add(listNavigator); > > > //フォーム > Form searchForm = new Form("SearchForm"); > > Button searchButton = new Button("SearchButton"){ > @Override > public void onSubmit(){ > // ボタン押下でテーブル内容更新 > ListDP.changeData(); > } > }; > sarchForm.add(searchButton); > add(searchForm); > > > ****************************************************** > キッセイコムテック株式会社 メディカルシステム事業部 > 第2SIグループ 藤原高明 > 〒390-1293  長野県松本市和田4010-10 > TEL: 0263-60-1340 (直通) 0263-40-1122(代) > FAX:0263-48-1284 > MAIL:t_fujihara @ comtec.kicnet.co.jp > ****************************************************** > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From t_yano @ me.com Tue Feb 21 00:30:22 2012 From: t_yano @ me.com (Tsutomu Yano) Date: Tue, 21 Feb 2012 00:30:22 +0900 Subject: [Wicket-ja-user 612] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: References: <002701ccefce$3e57e1b0$bb07a510$@kicnet.co.jp> Message-ID: <315127B2-40C4-4BEC-8B47-6D5C84F2A32F@me.com> 矢野です。 ソース見る限りでは、ボタンはButtonクラスですんで、Ajaxは関係なく、サブミット後にページ全体が再描画されるはずです(例に上がってるソースが正しいことが前提ですが)。その場合、addComponentは必要ないですね。 文面からすると、DavaViewの内容は書き換わるけども、ナビゲータだけがちゃんと更新されず、ナビゲータとDataViewが連動しなくなるということなのでしょうか? もしButtonがAjaxButtonなのであれば、青山さんの言うように、AjaxPagingNavigatorもAjaxRequestTargetniaddComponentする必要があります。 実際にButtonクラスを使っているならば、より具体的にどうなるかを教えて欲しいです。再描画されたとき、AjaxPagingNavigatorのページ数は正しいか、とか、実際にいま表示しているページ番号を指しているか、とかが気になります。 --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール: t_yano @ me.com --------------------------------------------------- On 2012/02/20, at 23:36, Yoshikazu Aoyama wrote: > 青山です。 > > ボタンを押してもテーブルの内容がAjaxで更新されない、ということでしょうか? > データの再取得後、AjaxRequestTargetに再描画したいコンポーネントを > addComponent()すれば再描画されると思います。 > > 2012/2/20 藤原 高明 : >> お世話になっております。藤原と申します。 >> 先日は質問にご返答いただきありがとうござました。 >> >> 現在、DataViewとAjaxPagingNavigatorを使用して、 >> ページングのできるテーブルを作成しております。 >> テーブルの内容はDBに接続して取得しているのですが、 >> テーブルの中身を再取得した際に、 >> AjaxPagingNavigatorが生成するJavaScriptが更新されずに困っております。 >> (検索項目とその結果を表示するテーブルがあるイメージです。) >> >> DataProviderを使用してテーブル内の項目にセットしているモデルの中身を更新して >> いるのですが、 >> 何か根本的に間違っているのでしょうか。 >> 拙い質問で申し訳ございませんが、お力を貸していただけると助かります。 >> 何卒よろしくお願いいたします。 >> >> >> //以下ソースです。 >> //一覧表の設定 >> BaseListDataProvider ListDP = new BaseListDataProvider(); >> final DataView baseView = new DataView("BaseList", >> ListDP, 10){ >> @Override >> protected void populateItem(Item item) { >> // TODO 自動生成されたメソッド・スタブ >> DummyBaseBean base = item.getModelObject(); >> item.add( new Label("Id", new PropertyModel(base, >> "strId"))); >> } >> }; >> >> //DataView内のItem要素は毎回破棄せずに再利用する >> baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); >> >> //DataViewにAjaxPagingNavigatorを利用する場合 >> //DataViewをWebMarkupContainerに配置する。(親要素が必要) >> WebMarkupContainer viewContainer = new WebMarkupContainer("Container"); >> // Ajaxで書き換える要素指定 >> viewContainer.setOutputMarkupId(true); >> viewContainer.add(baseView); >> add(viewContainer); >> >> // Paging設定 >> final AjaxPagingNavigator listNavigator = new >> AjaxPagingNavigator("navigator", baseView); >> listNavigator.setOutputMarkupId(true); >> add(listNavigator); >> >> >> //フォーム >> Form searchForm = new Form("SearchForm"); >> >> Button searchButton = new Button("SearchButton"){ >> @Override >> public void onSubmit(){ >> // ボタン押下でテーブル内容更新 >> ListDP.changeData(); >> } >> }; >> sarchForm.add(searchButton); >> add(searchForm); >> >> >> ****************************************************** >> キッセイコムテック株式会社 メディカルシステム事業部 >> 第2SIグループ 藤原高明 >> 〒390-1293  長野県松本市和田4010-10 >> TEL: 0263-60-1340 (直通) 0263-40-1122(代) >> FAX:0263-48-1284 >> MAIL:t_fujihara @ comtec.kicnet.co.jp >> ****************************************************** >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicket-ja-user @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From t_fujihara @ comtec.kicnet.co.jp Tue Feb 21 13:23:42 2012 From: t_fujihara @ comtec.kicnet.co.jp (=?iso-2022-jp?B?GyRCRiM4NiEhOWJMQBsoQg==?=) Date: Tue, 21 Feb 2012 13:23:42 +0900 Subject: [Wicket-ja-user 613] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: <315127B2-40C4-4BEC-8B47-6D5C84F2A32F@me.com> References: <002701ccefce$3e57e1b0$bb07a510$@kicnet.co.jp> <315127B2-40C4-4BEC-8B47-6D5C84F2A32F@me.com> Message-ID: <001101ccf050$97ef3cf0$c7cdb6d0$@kicnet.co.jp> $BF#86$G$9!#(B $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B $B8=>]$H$7$F$O!"(B $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$Ke$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B -----Original Message----- From: wicket-ja-user-bounces @ lists.sourceforge.jp [mailto:wicket-ja-user-bounces @ lists.sourceforge.jp] On Behalf Of Tsutomu Yano Sent: Tuesday, February 21, 2012 12:30 AM To: wicket-ja-user @ lists.sourceforge.jp Subject: [Wicket-ja-user 612] Re: AjaxPagingNavigator$B$N99?7$K$D$$$F(B $BLpLn$G$9!#(B $B%=!<%98+$k8B$j$G$O!"%\%?%s$O(BButton$B%/%i%9$G$9$s$G!"(BAjax$B$O4X78$J$/!"%5%V%_%C%H(B $B8e$K%Z!<%8A4BN$,:FIA2h$5$l$k$O$:$G$9!JNc$K>e$,$C$F$k%=!<%9$, @ 5$7$$$3$H$,A0Ds(B $B$G$9$,!K!#$=$N>l9g!"(BaddComponent$B$OI,MW$J$$$G$9$M!#(B $BJ8LL$+$i$9$k$H!"(BDavaView$B$NFbMF$O=q$-49$o$k$1$I$b!"%J%S%2!<%?$@$1$,$A$c$s$H99(B $B?7$5$l$:!"%J%S%2!<%?$H(BDataView$B$,O"F0$7$J$/$J$k$H$$$&$3$H$J$N$G$7$g$&$+!)(B $B$b$7(BButton$B$,(BAjaxButton$B$J$N$G$"$l$P!"@D;3$5$s$N8@$&$h$&$K!"(B AjaxPagingNavigator$B$b(BAjaxRequestTargetniaddComponent$B$9$kI,MW$,$"$j$^$9!#(B $B $B @ D;3$G$9!#(B > > $B%\%?%s$r2!$7$F$b%F!<%V%k$NFbMF$,(BAjax$B$G99?7$5$l$J$$!"$H$$$&$3$H$G$7$g$&$+!)(B > $B%G!<%?$N:F addComponent()$B$9$l$P:FIA2h$5$l$k$H;W$$$^$9!#(B > > 2012/2/20 $BF#86!!9bL@(B : >> $B$*@$OC$K$J$C$F$*$j$^$9!#F#86$H?=$7$^$9!#(B >> $B @ hF|$O> >> $B8=:_!"(BDataView$B$H(BAjaxPagingNavigator$B$r;HMQ$7$F!"(B >> $B%Z!<%8%s%0$N$G$-$k%F!<%V%k$r:n @ .$7$F$*$j$^$9!#(B >> $B%F!<%V%k$NFbMF$O(BDB$B$K@\B3$7$F> $B%F!<%V%k$NCf?H$r:F> AjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,99?7$5$l$:$K:$$C$F$*$j$^$9!#(B >> $B!J8!:w9`L\$H$=$N7k2L$rI=<($9$k%F!<%V%k$,$"$k%$%a!<%8$G$9!#!K(B >> >> DataProvider$B$r;HMQ$7$F%F!<%V%kFb$N9`L\$K%;%C%H$7$F$$$k%b%G%k$NCf?H$r99?7(B $B$7$F(B >> $B$$$k$N$G$9$,!"(B >> $B2?$+:,K\E*$K4V0c$C$F$$$k$N$G$7$g$&$+!#(B >> $B@[$$> $B2?B4$h$m$7$/$*4j$$$$$?$7$^$9!#(B >> >> >> //$B0J2<%=!<%9$G$9!#(B >> //$B0lMwI=$N @ _Dj(B >> BaseListDataProvider ListDP = new BaseListDataProvider(); final >> DataView baseView = new DataView("BaseList", >> ListDP, 10){ >> @Override >> protected void populateItem(Item item) { >> // TODO $B<+F0 @ 8@.$5$l$?%a%=%C%I!&%9%?%V(B >> DummyBaseBean base = item.getModelObject(); >> item.add( new Label("Id", new >> PropertyModel(base, "strId"))); >> } >> }; >> >> //DataView$BFb$N(BItem$BMWAG$OKh2sGK4~$;$:$K:FMxMQ$9$k(B >> baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); >> >> //DataView$B$K(BAjaxPagingNavigator$B$rMxMQ$9$k>l9g(B >> //DataView$B$r(BWebMarkupContainer$B$KG[CV$9$k!#!J?FMWAG$,I,MW!K(B >> WebMarkupContainer viewContainer = new >> WebMarkupContainer("Container"); // Ajax$B$G=q$-49$($kMWAG;XDj(B >> viewContainer.setOutputMarkupId(true); >> viewContainer.add(baseView); >> add(viewContainer); >> >> // Paging$B @ _Dj(B >> final AjaxPagingNavigator listNavigator = new >> AjaxPagingNavigator("navigator", baseView); >> listNavigator.setOutputMarkupId(true); >> add(listNavigator); >> >> >> //$B%U%)!<%`(B >> Form searchForm = new Form("SearchForm"); >> >> Button searchButton = new Button("SearchButton"){ >> @Override >> public void onSubmit(){ >> // $B%\%?%s2!2<$G%F!<%V%kFbMF99?7(B >> ListDP.changeData(); >> } >> }; >> sarchForm.add(searchButton); >> add(searchForm); >> >> >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicket-ja-user @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _______________________________________________ Wicket-ja-user mailing list Wicket-ja-user @ lists.sourceforge.jp http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From t_fujihara @ comtec.kicnet.co.jp Tue Feb 21 19:56:23 2012 From: t_fujihara @ comtec.kicnet.co.jp (=?iso-2022-jp?B?GyRCRiM4NiEhOWJMQBsoQg==?=) Date: Tue, 21 Feb 2012 19:56:23 +0900 Subject: [Wicket-ja-user 614] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= Message-ID: <000001ccf087$735eddf0$5a1c99d0$@kicnet.co.jp> $BF#86$G$9!#(B $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B $BEj9F$,J8;z2=$1$7$F$7$^$C$?$N$G:FEj9F$5$;$F$$$?$@$-$^$7$?!#(B $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B $B8=>]$H$7$F$O!"(B $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$Ke$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B -----Original Message----- From: wicket-ja-user-bounces @ lists.sourceforge.jp [mailto:wicket-ja-user-bounces @ lists.sourceforge.jp] On Behalf Of Tsutomu Yano Sent: Tuesday, February 21, 2012 12:30 AM To: wicket-ja-user @ lists.sourceforge.jp Subject: [Wicket-ja-user 612] Re: AjaxPagingNavigator$B$N99?7$K$D$$$F(B $BLpLn$G$9!#(B $B%=!<%98+$k8B$j$G$O!"%\%?%s$O(BButton$B%/%i%9$G$9$s$G!"(BAjax$B$O4X78$J$/!"%5%V%_%C%H(B $B8e$K%Z!<%8A4BN$,:FIA2h$5$l$k$O$:$G$9!JNc$K>e$,$C$F$k%=!<%9$, @ 5$7$$$3$H$,A0Ds(B $B$G$9$,!K!#$=$N>l9g!"(BaddComponent$B$OI,MW$J$$$G$9$M!#(B $BJ8LL$+$i$9$k$H!"(BDavaView$B$NFbMF$O=q$-49$o$k$1$I$b!"%J%S%2!<%?$@$1$,$A$c$s$H99(B $B?7$5$l$:!"%J%S%2!<%?$H(BDataView$B$,O"F0$7$J$/$J$k$H$$$&$3$H$J$N$G$7$g$&$+!)(B $B$b$7(BButton$B$,(BAjaxButton$B$J$N$G$"$l$P!"@D;3$5$s$N8@$&$h$&$K!"(B AjaxPagingNavigator$B$b(BAjaxRequestTargetniaddComponent$B$9$kI,MW$,$"$j$^$9!#(B $B $B @ D;3$G$9!#(B > > $B%\%?%s$r2!$7$F$b%F!<%V%k$NFbMF$,(BAjax$B$G99?7$5$l$J$$!"$H$$$&$3$H$G$7$g$&$+!)(B > $B%G!<%?$N:F addComponent()$B$9$l$P:FIA2h$5$l$k$H;W$$$^$9!#(B > > 2012/2/20 $BF#86!!9bL@(B : >> $B$*@$OC$K$J$C$F$*$j$^$9!#F#86$H?=$7$^$9!#(B >> $B @ hF|$O> >> $B8=:_!"(BDataView$B$H(BAjaxPagingNavigator$B$r;HMQ$7$F!"(B >> $B%Z!<%8%s%0$N$G$-$k%F!<%V%k$r:n @ .$7$F$*$j$^$9!#(B >> $B%F!<%V%k$NFbMF$O(BDB$B$K@\B3$7$F> $B%F!<%V%k$NCf?H$r:F> AjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,99?7$5$l$:$K:$$C$F$*$j$^$9!#(B >> $B!J8!:w9`L\$H$=$N7k2L$rI=<($9$k%F!<%V%k$,$"$k%$%a!<%8$G$9!#!K(B >> >> DataProvider$B$r;HMQ$7$F%F!<%V%kFb$N9`L\$K%;%C%H$7$F$$$k%b%G%k$NCf?H$r99?7(B $B$7$F(B >> $B$$$k$N$G$9$,!"(B >> $B2?$+:,K\E*$K4V0c$C$F$$$k$N$G$7$g$&$+!#(B >> $B@[$$> $B2?B4$h$m$7$/$*4j$$$$$?$7$^$9!#(B >> >> >> //$B0J2<%=!<%9$G$9!#(B >> //$B0lMwI=$N @ _Dj(B >> BaseListDataProvider ListDP = new BaseListDataProvider(); final >> DataView baseView = new DataView("BaseList", >> ListDP, 10){ >> @Override >> protected void populateItem(Item item) { >> // TODO $B<+F0 @ 8@.$5$l$?%a%=%C%I!&%9%?%V(B >> DummyBaseBean base = item.getModelObject(); >> item.add( new Label("Id", new >> PropertyModel(base, "strId"))); >> } >> }; >> >> //DataView$BFb$N(BItem$BMWAG$OKh2sGK4~$;$:$K:FMxMQ$9$k(B >> baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); >> >> //DataView$B$K(BAjaxPagingNavigator$B$rMxMQ$9$k>l9g(B >> //DataView$B$r(BWebMarkupContainer$B$KG[CV$9$k!#!J?FMWAG$,I,MW!K(B >> WebMarkupContainer viewContainer = new >> WebMarkupContainer("Container"); // Ajax$B$G=q$-49$($kMWAG;XDj(B >> viewContainer.setOutputMarkupId(true); >> viewContainer.add(baseView); >> add(viewContainer); >> >> // Paging$B @ _Dj(B >> final AjaxPagingNavigator listNavigator = new >> AjaxPagingNavigator("navigator", baseView); >> listNavigator.setOutputMarkupId(true); >> add(listNavigator); >> >> >> //$B%U%)!<%`(B >> Form searchForm = new Form("SearchForm"); >> >> Button searchButton = new Button("SearchButton"){ >> @Override >> public void onSubmit(){ >> // $B%\%?%s2!2<$G%F!<%V%kFbMF99?7(B >> ListDP.changeData(); >> } >> }; >> sarchForm.add(searchButton); >> add(searchForm); >> >> >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicket-ja-user @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _______________________________________________ Wicket-ja-user mailing list Wicket-ja-user @ lists.sourceforge.jp http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user From t.bashi.fuji @ gmail.com Wed Feb 22 10:46:20 2012 From: t.bashi.fuji @ gmail.com (=?ISO-2022-JP?B?GyRCRiM4NjliTEAbKEI=?=) Date: Wed, 22 Feb 2012 10:46:20 +0900 Subject: [Wicket-ja-user 615] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= Message-ID: $BF#86$G$9!#(B $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B $BEj9F$,J8;z2=$1$7$F$7$^$C$?$N$G:FEj9F$5$;$F$$$?$@$-$^$7$?!#(B $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B $B8=>]$H$7$F$O!"(B $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$Ke$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B -----Original Message----- From: wicket-ja-user-bounces @ lists.sourceforge.jp [mailto: wicket-ja-user-bounces @ lists.sourceforge.jp] On Behalf Of Tsutomu Yano Sent: Tuesday, February 21, 2012 12:30 AM To: wicket-ja-user @ lists.sourceforge.jp Subject: [Wicket-ja-user 612] Re: AjaxPagingNavigator$B$N99?7$K$D$$$F(B $BLpLn$G$9!#(B $B%=!<%98+$k8B$j$G$O!"%\%?%s$O(BButton$B%/%i%9$G$9$s$G!"(BAjax$B$O4X78$J$/!"%5%V%_%C%H8e$K%Z!<%8A4BN$,:FIA2h$5$l$k$O$:$G$9!JNc$K>e$,$C$F$k%=!<%9$, @ 5$7$$$3$H$,A0Ds$G$9$,!K!#$=$N>l9g!"(BaddComponent$B$OI,MW$J$$$G$9$M!#(B $BJ8LL$+$i$9$k$H!"(BDavaView$B$NFbMF$O=q$-49$o$k$1$I$b!"%J%S%2!<%?$@$1$,$A$c$s$H99?7$5$l$:!"%J%S%2!<%?$H(BDataView$B$,O"F0$7$J$/$J$k$H$$$&$3$H$J$N$G$7$g$&$+!)(B $B$b$7(BButton$B$,(BAjaxButton$B$J$N$G$"$l$P!"@D;3$5$s$N8@$&$h$&$K!"(BAjaxPagingNavigator$B$b(BAjaxRequestTargetniaddComponent$B$9$kI,MW$,$"$j$^$9!#(B $B References: Message-ID: $B$3$s$K$A$O!#LpLn$G$9!#(B $B$^$?:Y$+$$$H$3$m$ODI$($F$J$$$N$G$9$,!"$H$j$"$($:!"%a!<%k$O$3$A$i$G$OJ8;z2=$1$7$F$J$$$h$&$G$9$N$G!"Bg>fIW$_$?$$$G$9$h!#$b$7$+$7$?$i;H$C$F$k%a!<%k%W%m%0%i%`$K$h$C$F$OJ8;z2=$1$9$k$N$+$b$7$l$J$$$G$9$,!D(B $B%W%m%0%i%`$K$D$$$F$O!"$$$^$A$g$C$H;~4V$,L5$$$N$G!"$"$H$GDI$C$+$1$F$_$h$&$H;W$$$^$9!#$?$V$s!"(BAjaxPagingNavigator$B$8$c$J$/$F!"(BIDataProvider$B$N $BF#86$G$9!#(B > > $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B > $BEj9F$,J8;z2=$1$7$F$7$^$C$?$N$G:FEj9F$5$;$F$$$?$@$-$^$7$?!#(B > > $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B > addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B > > $B8=>]$H$7$F$O!"(B > $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B > $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B > $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$K $B%Z!<%8HV9f$N%j%s%/$r2!$9$H=i2s$K > $B0J>e$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B > $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B --------------------------------------------------- $BLpLn!!JY!J$d$N!!$D$H$`!K(B $BEE;R%a!<%k(B: t_yano @ me.com --------------------------------------------------- From t_yano @ me.com Wed Feb 22 17:38:04 2012 From: t_yano @ me.com (Tsutomu Yano) Date: Wed, 22 Feb 2012 17:38:04 +0900 Subject: [Wicket-ja-user 617] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: References: Message-ID: <85CF8170-9C45-4AEE-9CD2-4CFD7F19C5FC@me.com> $BLpLn$G$9!#(B $B$A$g$C$H(BAjaxPagingNavigator$B$H(BDataView$B$^$o$j$N%3!<%I$rD/$a$F$_$^$7$?$,!"(BAjaxPagingNavigator$B$O!"(BDataView$B$N(BcurrentPage$B$r99?7$7$?$"$H$G!"(BDataView$B$r(BAjaxRequestTarget$B$K(BaddComponent$B$9$k$@$1$G$9!#%Z!<%8HV9f$r @ _Dj$7$F!"99?7$9$k$@$1$J$s$G!"$d$C$Q$j%G!<%?$rI=<($7$F$$$k$N$O(BDataView$B$G$9$M!#(B $B$G!"(BDataView$B$O!"(BcurrentPage$BCM$r85$K!"(BDataProvider#iterator(int first, int count) $B$r8F$S=P$7$F!"7k2L$rI=<($7$F$$$k$@$1$G$9!#(B $B$H$J$k$H!":FI=<(;~$K!"(BDataProvider$B$,!V=i2s$K $BF#86$G$9!#(B > > $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B > $BEj9F$,J8;z2=$1$7$F$7$^$C$?$N$G:FEj9F$5$;$F$$$?$@$-$^$7$?!#(B > > $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B > addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B > > $B8=>]$H$7$F$O!"(B > $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B > $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B > $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$K $B%Z!<%8HV9f$N%j%s%/$r2!$9$H=i2s$K > $B0J>e$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B > $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B --------------------------------------------------- $BLpLn!!JY!J$d$N!!$D$H$`!K(B $BEE;R%a!<%k(B: t_yano @ me.com --------------------------------------------------- From t.bashi.fuji @ gmail.com Wed Feb 22 22:52:16 2012 From: t.bashi.fuji @ gmail.com (=?ISO-2022-JP?B?GyRCRiM4NjliTEAbKEI=?=) Date: Wed, 22 Feb 2012 22:52:16 +0900 Subject: [Wicket-ja-user 618] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: <85CF8170-9C45-4AEE-9CD2-4CFD7F19C5FC@me.com> References: <85CF8170-9C45-4AEE-9CD2-4CFD7F19C5FC@me.com> Message-ID: $BF#86$G$9!#(B $B65$($F$$$?$@$$$?JU$j$r3NG'$7$F$$$k$N$G$9$,!"(B $B$I$&$b860x$H$J$C$F$$$k2U=j$,$o$+$j$^$;$s!#(B $B:,K\E*$K @ _7W$,4V0c$C$F$$$k$N$+!#!#!#(B $B4X78$"$k%/%i%9$rH4?h$7$FE:IU$5$;$F$$$?$@$-$^$7$?!#(B $B2?$+$o$+$j$^$9$G$7$g$&$+!#(B $B"(%a!<%k$OJ8;z2=$1$7$F$$$^$;$s$,!"$I$&$d$i%5%$%H>e$G$_$k$HJ8;z2=$1$7$F$$$k$_$?$$$G$9!#(B $BF#86(B 2012$BG/(B2$B7n(B22$BF|(B17:38 Tsutomu Yano : > $BLpLn$G$9!#(B > > > $B$A$g$C$H(BAjaxPagingNavigator$B$H(BDataView$B$^$o$j$N%3!<%I$rD/$a$F$_$^$7$?$,!"(BAjaxPagingNavigator$B$O!"(BDataView$B$N(BcurrentPage$B$r99?7$7$?$"$H$G!"(BDataView$B$r(BAjaxRequestTarget$B$K(BaddComponent$B$9$k$@$1$G$9!#%Z!<%8HV9f$r @ _Dj$7$F!"99?7$9$k$@$1$J$s$G!"$d$C$Q$j%G!<%?$rI=<($7$F$$$k$N$O(BDataView$B$G$9$M!#(B > > $B$G!"(BDataView$B$O!"(BcurrentPage$BCM$r85$K!"(BDataProvider#iterator(int first, int count) > $B$r8F$S=P$7$F!"7k2L$rI=<($7$F$$$k$@$1$G$9!#(B > > $B$H$J$k$H!":FI=<(;~$K!"(BDataProvider$B$,!V=i2s$K > DataProvider$B$NCf?H$r99?7$9$k%m%8%C%/$H!"(BDataProvider#iterator(int first, int > count)$B$N > $B$b$7$/$O!"$=$N$"$?$j$N%m%8%C%/$rE=$C$F$b$i$($k$H$5$i$K2?$+J,$+$k$+$b!)(B > > > > On 2012/02/22, at 10:46, $BF#869bL@(B wrote: > > > $BF#86$G$9!#(B > > > > $B @ D;3MM!"LpLnMM$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B > > $BEj9F$,J8;z2=$1$7$F$7$^$C$?$N$G:FEj9F$5$;$F$$$?$@$-$^$7$?!#(B > > > > $B8=:_!"(BButton$B%/%i%9$G(Bsubmit$B$r9T$C$F$$$k$N$G!"(B > > addComponent$B$OI,MWL5$$$N$G$O$H9M$($F$*$j$^$9!#(B > > > > $B8=>]$H$7$F$O!"(B > > $B-!(BDataView$B$NFbMF$O=q$-JQ$o$k!#(B > > $B-"(BAjaxPagingNavigator$B$,I=<($9$k%Z!<%8?t$b @ 5$7$$!#(B > > $B-#(BAjaxPagingNavigator$B$, @ 8@.$9$k(BJavaScript$B$,=i2s$K > $B%Z!<%8HV9f$N%j%s%/$r2!$9$H=i2s$K > > > $B0J>e$N$h$&$J5sF0$K$J$C$F$$$^$9!#(B > > $B2?$+9M$($i$l$k860x$O$"$k$N$G$7$g$&$+!#(B > > > > --------------------------------------------------- > $BLpLn(B $BJY!J$d$N(B $B$D$H$`!K(B > $BEE;R%a!<%k(B: t_yano @ me.com > --------------------------------------------------- > > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20120222/1aa12969/attachment-0001.htm -------------- next part -------------- $B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... $B%U%!%$%kL>(B: BaseDataProvider.java $B7?(B: application/octet-stream $B%5%$%:(B: 1852 $B%P%$%H(B $B @ bL@(B: $BL5$7(B URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20120222/1aa12969/attachment-0003.obj -------------- next part -------------- $B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... $B%U%!%$%kL>(B: BaseList.java $B7?(B: application/octet-stream $B%5%$%:(B: 5060 $B%P%$%H(B $B @ bL@(B: $BL5$7(B URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20120222/1aa12969/attachment-0004.obj -------------- next part -------------- $B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... $B%U%!%$%kL>(B: BaseListDAO.java $B7?(B: application/octet-stream $B%5%$%:(B: 1892 $B%P%$%H(B $B @ bL@(B: $BL5$7(B URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20120222/1aa12969/attachment-0005.obj From yskz.aoyama @ gmail.com Thu Feb 23 02:03:47 2012 From: yskz.aoyama @ gmail.com (Yoshikazu Aoyama) Date: Thu, 23 Feb 2012 02:03:47 +0900 Subject: [Wicket-ja-user 619] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: References: <85CF8170-9C45-4AEE-9CD2-4CFD7F19C5FC@me.com> Message-ID: 青山です。 DataProviderのdetachでdaoをクリアしているのが原因ではないでしょうか。 ボタンを押してDataViewを更新した後、再度ページ番号を押した際にはdetach()によって daoがクリアされていますので、getDao()で再度 new BaseListDAO()で初期化 (つまり、ボタンを押す前のリストに戻る)されている気がします。 #マルイチなどのNEC特殊文字をmailmanに投げるとアーカイブが文字化けしますので、利用は避けてください。 2012/2/22 藤原高明 : > 藤原です。 > > 教えていただいた辺りを確認しているのですが、 > どうも原因となっている箇所がわかりません。 > > 根本的に設計が間違っているのか。。。 > 関係あるクラスを抜粋して添付させていただきました。 > 何かわかりますでしょうか。 > > ※メールは文字化けしていませんが、どうやらサイト上でみると文字化けしているみたいです。 > > 藤原 > 2012年2月22日17:38 Tsutomu Yano : >> >> 矢野です。 >> >> >> ちょっとAjaxPagingNavigatorとDataViewまわりのコードを眺めてみましたが、AjaxPagingNavigatorは、DataViewのcurrentPageを更新したあとで、DataViewをAjaxRequestTargetにaddComponentするだけです。ページ番号を設定して、更新するだけなんで、やっぱりデータを表示しているのはDataViewですね。 >> >> で、DataViewは、currentPage値を元に、DataProvider#iterator(int first, int count) >> を呼び出して、結果を表示しているだけです。 >> >> となると、再表示時に、DataProviderが「初回に取得したデータ内容」を返している、と考えるのが妥当な気がします。 >> >> DataProviderの中身を更新するロジックと、DataProvider#iterator(int first, int >> count)の実装がどうなっているのかが気になります。そのあたりを確認してみると何か分かるかもしれません。 >> >> もしくは、そのあたりのロジックを貼ってもらえるとさらに何か分かるかも? >> >> >> >> On 2012/02/22, at 10:46, 藤原高明 wrote: >> >> > 藤原です。 >> > >> > 青山様、矢野様ご返答ありがとうございます。 >> > 投稿が文字化けしてしまったので再投稿させていただきました。 >> > >> > 現在、Buttonクラスでsubmitを行っているので、 >> > addComponentは必要無いのではと考えております。 >> > >> > 現象としては、 >> > 1. DataViewの内容は書き変わる。 >> > 2. AjaxPagingNavigatorが表示するページ数も正しい。 >> > 3. AjaxPagingNavigatorが生成するJavaScriptが初回に取得したデータと紐づいており、 >> > ページ番号のリンクを押すと初回に取得したデータ内容が表示される。 >> > >> > 以上のような挙動になっています。 >> > 何か考えられる原因はあるのでしょうか。 >> >> >> >> --------------------------------------------------- >> 矢野 勉(やの つとむ) >> 電子メール: t_yano @ me.com >> --------------------------------------------------- >> >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicket-ja-user @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user >> > > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > From t.bashi.fuji @ gmail.com Thu Feb 23 10:27:15 2012 From: t.bashi.fuji @ gmail.com (=?ISO-2022-JP?B?GyRCRiM4NjliTEAbKEI=?=) Date: Thu, 23 Feb 2012 10:27:15 +0900 Subject: [Wicket-ja-user 620] Re: =?iso-2022-jp?b?QWpheFBhZ2luZ05hdmlnYXRvchskQiROOTk/NyRLGyhC?= =?iso-2022-jp?b?GyRCJEQkJCRGGyhC?= In-Reply-To: References: <85CF8170-9C45-4AEE-9CD2-4CFD7F19C5FC@me.com> Message-ID: 藤原です。 青山様の箇所を修正したところ問題無く表示がされました。 青山様、矢野様、大変ありがとうございました。 DataViewの表示は問題なかったので、そこまで気が回りませんでした。 Wicketの挙動についてもっと勉強しないとダメですね。 # 文字化けの件、今後気をつけます。 2012年2月23日2:03 Yoshikazu Aoyama : > 青山です。 > > DataProviderのdetachでdaoをクリアしているのが原因ではないでしょうか。 > ボタンを押してDataViewを更新した後、再度ページ番号を押した際にはdetach()によって > daoがクリアされていますので、getDao()で再度 new BaseListDAO()で初期化 > (つまり、ボタンを押す前のリストに戻る)されている気がします。 > > #マルイチなどのNEC特殊文字をmailmanに投げるとアーカイブが文字化けしますので、利用は避けてください。 > > 2012/2/22 藤原高明 : > > 藤原です。 > > > > 教えていただいた辺りを確認しているのですが、 > > どうも原因となっている箇所がわかりません。 > > > > 根本的に設計が間違っているのか。。。 > > 関係あるクラスを抜粋して添付させていただきました。 > > 何かわかりますでしょうか。 > > > > ※メールは文字化けしていませんが、どうやらサイト上でみると文字化けしているみたいです。 > > > > 藤原 > > 2012年2月22日17:38 Tsutomu Yano : > >> > >> 矢野です。 > >> > >> > >> > ちょっとAjaxPagingNavigatorとDataViewまわりのコードを眺めてみましたが、AjaxPagingNavigatorは、DataViewのcurrentPageを更新したあとで、DataViewをAjaxRequestTargetにaddComponentするだけです。ページ番号を設定して、更新するだけなんで、やっぱりデータを表示しているのはDataViewですね。 > >> > >> で、DataViewは、currentPage値を元に、DataProvider#iterator(int first, int count) > >> を呼び出して、結果を表示しているだけです。 > >> > >> となると、再表示時に、DataProviderが「初回に取得したデータ内容」を返している、と考えるのが妥当な気がします。 > >> > >> DataProviderの中身を更新するロジックと、DataProvider#iterator(int first, int > >> count)の実装がどうなっているのかが気になります。そのあたりを確認してみると何か分かるかもしれません。 > >> > >> もしくは、そのあたりのロジックを貼ってもらえるとさらに何か分かるかも? > >> > >> > >> > >> On 2012/02/22, at 10:46, 藤原高明 wrote: > >> > >> > 藤原です。 > >> > > >> > 青山様、矢野様ご返答ありがとうございます。 > >> > 投稿が文字化けしてしまったので再投稿させていただきました。 > >> > > >> > 現在、Buttonクラスでsubmitを行っているので、 > >> > addComponentは必要無いのではと考えております。 > >> > > >> > 現象としては、 > >> > 1. DataViewの内容は書き変わる。 > >> > 2. AjaxPagingNavigatorが表示するページ数も正しい。 > >> > 3. AjaxPagingNavigatorが生成するJavaScriptが初回に取得したデータと紐づいており、 > >> > ページ番号のリンクを押すと初回に取得したデータ内容が表示される。 > >> > > >> > 以上のような挙動になっています。 > >> > 何か考えられる原因はあるのでしょうか。 > >> > >> > >> > >> --------------------------------------------------- > >> 矢野 勉(やの つとむ) > >> 電子メール: t_yano @ me.com > >> --------------------------------------------------- > >> > >> > >> _______________________________________________ > >> Wicket-ja-user mailing list > >> Wicket-ja-user @ lists.sourceforge.jp > >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > >> > > > > > > _______________________________________________ > > Wicket-ja-user mailing list > > Wicket-ja-user @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > > _______________________________________________ > Wicket-ja-user mailing list > Wicket-ja-user @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > -------------- next part -------------- HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/wicket-ja-user/attachments/20120223/047ca5cf/attachment.htm From maga @ haganemetal.net Tue Feb 28 20:59:39 2012 From: maga @ haganemetal.net (maga @ haganemetal.net) Date: Tue, 28 Feb 2012 20:59:39 +0900 Subject: [Wicket-ja-user 621] =?iso-2022-jp?b?QWpheEZvcm1TdWJtaXRCZWhhdmlvciNnZXRQcmVjb25kaXRp?= =?iso-2022-jp?b?b25TY3JpcHQoKRskQiQsPVBOTyQ5JGsbKEJqYXZhc2NyaXB0?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= Message-ID: <20120228205939.CB1F.6064D8CD@haganemetal.net> 船田です。 Wicket1.5.4を使用しています。 フォームで入力された内容を即時にWicketで処理するために AjaxFormSubmitBehaviorを使い、フォームのデータをAjaxでPOSTしています。 その中でブラウザやBehaviorの書き方によってAjaxが動作しないパターンがありました。 原因を調べていたところAjaxFormSubmitBehavior#getPreconditionScript() が出力するjavascriptにthisが指定されていることがわかりました。 @Override protected CharSequence getPreconditionScript() { return "return Wicket.$$(this)&&Wicket.$$('" + getForm().getMarkupId() + "')"; } 当然のことながら、 javascriptのthisは文脈によって違うオブジェクトを返します。 バインドされているpreconditionがfalseを返す場合があり、 Ajaxの処理が実行されないまま javascriptのwicketSubmitFormById()関数が終了します。 AjaxFormSubmitBehavior#getPreconditionScript()をオーバーライドして trueを返すようなjavascriptを実装すれば回避できるのですが、根本的な解決ではない気がします。 本来、Wicket.$$(this) のthisは、何を想定しているのか? この意図が汲み取れないでいます。 何かヒントになるようなことでもかまいませんのでご教授いただければと思います。