[Seasar-user:21027] Re: チェックボックスについて教えて下さい。

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2011年 9月 21日 (水) 03:15:13 JST


小林 (koichik) です.

> 上記のように教えていただいた通りnullを返すと
> ポストバック (自画面表示)の動きになる認識でよろしいでしょうか?

正確には,「ポストバックされて次画面表示」という感じです.

> またその場合、do()とprerender()が実行されるため、初期値の設定は
> 別の場所(initialize!?)で行う必要があるということでしょうか?

初期値の設定というのが一連の画面遷移の最初 (初期表示) で
行えばいいのであれば initialize() になります.
その後のポストバックでは設定済みの状態を引き継ぎます.

いずれも,詳しくは以下を参照してください.

http://teeda.seasar.org/ja/extension/concept/prg.html
http://teeda.seasar.org/ja/extension/concept/lifecycle.html
http://teeda.seasar.org/ja/extension/concept/scope.html


On Wed, 21 Sep 2011 00:48:08 +0900, 牧之内 隆史 <[E-MAIL ADDRESS DELETED]> wrote:

> 
> 小林 (koichik) 様
>  
> こんばんは、牧之内です。
> いつもお世話になっております。
> 2点ご質問があります。
>  
> 前に小林様から
>  
> > return "history";
> > 
> > のように文字列を返すと,その画面へリダイレクトしてしまい,
> > initialize()〜prerender() が実行されてしまいます.
> > そのため,チェックボックスは全て初期値にリセットされます.
> > チェックボックスの状態が取れないように見えたのはそのせいでしょう.
> > 
> > 画面遷移しない場合は null を返してください.
> 上記のように教えていただいた通りnullを返すと
> ポストバック (自画面表示)の動きになる認識でよろしいでしょうか?
> またその場合、do()とprerender()が実行されるため、初期値の設定は
> 別の場所(initialize!?)で行う必要があるということでしょうか?
>  
> お忙しい所すみませんが、ご回答よろしくお願い致します。
> 以上です。
>  
> 
> 
> 
> From: [E-MAIL ADDRESS DELETED]
> To: [E-MAIL ADDRESS DELETED]
> Date: Wed, 14 Sep 2011 23:18:20 +0900
> Subject: [Seasar-user:21012] Re: チェックボックスについて教えて下さい。
> 
> 
> 
> 
> 
> 小林 (koichik) 様
>  
> こんばんは、牧之内です。
> ご返信ありがとうございます。
>  
> 無知ですみませんでした。
> DB接続からやり直して試してみたいと思います。
>  
> > 「Seasar 2 徹底入門 SAStruts/S2JDBC 対応 」
> 参考書をご紹介いただきありがとうございます。
> ただ実をいうとこの本はすでに持っております。
> しかし内容が私には少し理解しにくいものなので。。。
> 今は「Seasar2によるスーパーアジャイルなWeb開発」
> を参考にしております。
>  
> 今後もご質問すると思いますが、
> どうぞよろしくお願いします。
>  
> 以上です。
>  
> 
> > Date: Sun, 11 Sep 2011 21:30:00 +0900
> > From: [E-MAIL ADDRESS DELETED]
> > To: [E-MAIL ADDRESS DELETED]
> > Subject: [Seasar-user:21001] Re: チェックボックスについて教えて下さい。
> > 
> > 小林 (koichik) です.
> > 
> > チェックボックスの状態は問題なく取得できていますが,
> > それ以外のところで問題がありますね.
> > 
> > まずは doDelete() ですが,
> > 
> > return "history";
> > 
> > のように文字列を返すと,その画面へリダイレクトしてしまい,
> > initialize()〜prerender() が実行されてしまいます.
> > そのため,チェックボックスは全て初期値にリセットされます.
> > チェックボックスの状態が取れないように見えたのはそのせいでしょう.
> > 
> > 画面遷移しない場合は null を返してください.
> > 
> > http://teeda.seasar.org/ja/extension/concept/lifecycle.html#画面遷移
> > 
> > 
> > また,prerender() や doDelete() で
> > 
> > try {
> > Class.forName("com.mysql.jdbc.Driver");
> > con = DriverManager.getConnection(
> > "jdbc:mysql://localhost:3306/user_db",
> > "takashi",
> > "0217");
> > 
> > のように DB へ接続してはいけません.
> > Seasar2 が提供しているコネクションプールを使ってください.
> > というか,おそらく jdbc.dicon にコネクションプールの設定が
> > あるはずです.
> > 
> > http://s2container.seasar.org/2.4/ja/jdbc.html
> > 
> > 
> > それから,
> > 
> > PurchaseDao p = new PurchaseDao(con);
> > 
> > のように Dao を自分で作成するのもいけません.
> > Dao も Seasar2 で管理されていれば (おそらくそうなっているはず),
> > Page クラスに
> > 
> > public PurchaseDao purchaseDao;
> > 
> > を定義するだけで Dao を使えるようになるはずです.
> > コネクションを渡す必要もありません.
> > 
> > もし jdbc.dicon がなかったり,Dao が Seasar2 で管理されて
> > いない場合などは,そこから見直した方がいいでしょう.
> > その場合は Dolteng を使ってひな形となるアプリケーションを
> > 作成して参考にしてください.
> > 
> > http://dolteng.sandbox.seasar.org/
> > 
> > また,より理解を深めるには以下の書籍がオススメです.
> > # Teeda の説明はありませんが...
> > 
> > 「Seasar 2 徹底入門 SAStruts/S2JDBC 対応 」
> > 
> > 
> > 
> > On Sat, 10 Sep 2011 00:13:40 +0900, 牧之内 隆史 <[E-MAIL ADDRESS DELETED]> wrote:
> > 
> > > 
> > > 小林様 (koichik) 
> > > 
> > > こんばんは。初めまして、牧之内と申します。
> > > 早々のご連絡ありがとうございます。
> > > 
> > > すみません。以下のURLは以前に何度か拝見したのですが、
> > > 分かりませんでした。。。
> > > 
> > > Page クラスを以下のように設定しております。
> > > ※念のため参考資料を添付致します。
> > > ・HTML = history.html
> > > ・Pageクラス = HistoryPage.java
> > > ・Dto = Purchase.java
> > > 
> > > 以上です。
> > > よろしくお願い致します。
> > > 
> > > ----------------------------------------------------Pageクラス---------------------------------------------------------------
> > > 
> > > public List<Purchase> purchaseItems;
> > > public boolean checked;
> > > 
> > > ----------------------------------------------------------------------------------------------------------------------------------
> > > 
> > > 
> > > > Date: Fri, 9 Sep 2011 02:30:00 +0900
> > > > From: [E-MAIL ADDRESS DELETED]
> > > > To: [E-MAIL ADDRESS DELETED]
> > > > Subject: [Seasar-user:20993] Re: チェックボックスについて教えて下さい。
> > > > 
> > > > 小林 (koichik) です.
> > > > 
> > > > > <input type="checkbox" id="checked" />  ← 問題の箇所!?
> > > > 
> > > > に対応するプロパティは,以下の例にあるように
> > > > 
> > > > http://teeda.seasar.org/ja/extension/reverse/input.html#単一項目のチェックボックスを複数使うには
> > > > 
> > > > public List<OptionDto> optionItems;
> > > > public boolean checked; //Teedaが設定
> > > > 
> > > > Dto だけではなく Page クラスにも checked プロパティが必要ですが,
> > > > 作成しましたか?
> > > > 解決しない場合は HTML だけではなく Page クラスも見せてください.
> > > > 
> > > > 
> > > > On Fri, 9 Sep 2011 02:16:59 +0900, 牧之内 隆史 <[E-MAIL ADDRESS DELETED]> wrote:
> > > > 
> > > > > 
> > > > > 初めまして、Seasarのメーリスに今入ったものです。
> > > > > 質問があるので投稿させていただきます。 
> > > > > 
> > > > > Seasar2を利用していて、分からないことがあります。
> > > > > 
> > > > > ある情報を一覧表示する画面で、各行に入力項目としてチェックボックスを表示しております。
> > > > > そして分からないことがチェックボックスにチェックをしてsubmitしても値をうまく渡すことができないことです。
> > > > > 本来ならチェックしたものがtrueとして渡るはずなのですが、全てfalseとして渡されてしまいます。
> > > > > どこの書き方が問題なのか分からず質問しました。
> > > > > 
> > > > > ソースは以下のようになっております。
> > > > > 基本的な内容だと思いますが、どなたかご教授お願い致します。
> > > > > 自分なりに調べたのですが、うまくいきません。
> > > > > 
> > > > > ※ソース一部を抜粋
> > > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > > > <tbody id="purchaseItems">
> > > > > <tr align="center">
> > > > > <td>
> > > > > <span id="year"></span>/<span id="month"></span>/<span id="day"></span>
> > > > > </td>
> > > > > <td>
> > > > > <span id="name"></span>
> > > > > </td>
> > > > > <td>
> > > > > <span id="isCharge">*</span><span id="status"></span>
> > > > > </td>
> > > > > <td align="left" width="400">
> > > > > <a id="goChange"
> > > > > href="change.html?id=1&amp;year=1&amp;month=1&amp;day=1&amp;name=aaa&amp;description=aaa&amp;amount=1&amp;status=aaa">
> > > > > <p><span id="description"></span></p></a>
> > > > > </td>
> > > > > <td align="right">
> > > > > <p>¥<span id="amount"></span></p>
> > > > > </td>
> > > > > <td>
> > > > > <a id="goDelete"
> > > > > href="delete.html?id=1&amp;year=1&amp;month=1&amp;day=1&amp;name=aaa&amp;description=aaa&amp;amount=1">
> > > > > <p><img src="../../img/batu2.png" alt="削除" /></p></a>
> > > > > </td>
> > > > > <td>
> > > > > <input type="checkbox" id="checked" />  ← 問題の箇所!?
> > > > > </td>
> > > > > </tr>
> > > > > </tbody>
> > > > > 
> > > > > ・
> > > > > ・
> > > > > ・
> > > > > 
> > > > > <input type="submit" value="submit" id="doDelete" />
> > > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > > > 
> > > > > 以上です。
> > > > > よろしくお願い致します。
> > > > > 
> > > > 
> > > > 
> > > > -- 
> > > > {
> > > > name: "Koichi Kobayashi",
> > > > mail: "[E-MAIL ADDRESS DELETED]",
> > > > blog: "http://d.hatena.ne.jp/koichik/",
> > > > twitter: "@koichik"
> > > > }
> > > > 
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > 
> > 
> > 
> > -- 
> > {
> > name: "Koichi Kobayashi",
> > mail: "[E-MAIL ADDRESS DELETED]",
> > blog: "http://d.hatena.ne.jp/koichik/",
> > twitter: "@koichik"
> > }
> > 
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> _______________________________________________ Seasar-user mailing list [E-MAIL ADDRESS DELETED] https://ml.seasar.org/mailman/listinfo/seasar-user 		 	   		  


-- 
{
  name: "Koichi Kobayashi",
  mail: "[E-MAIL ADDRESS DELETED]",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



Seasar-user メーリングリストの案内