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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2011年 9月 11日 (日) 21:30:00 JST


小林 (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 メーリングリストの案内