[Seasar-user:17262] [teeda] Listを使用したforEachの表示について

木村 究道 [E-MAIL ADDRESS DELETED]
2009年 4月 17日 (金) 13:18:59 JST


お世話になっております、木村と申します。

早速ですが、Listを使用してforEachで入力可能な表を表示
し、ボタン押下で表示内容を変更したいのですが、最初に
設定した値が引き継がれて、内容が変わりません。
doメソッドのreturnのところでは値が期待通り変わってい
るのですが、表示すると値が戻っています。

http://d.hatena.ne.jp/kimpo/20080122/1201002533
↑を参照したところ、returnでクラスを指定すると良いと
書いてありましたので、自クラス名を返すように変えたと
ころ、期待通りに動きました。
しかし、nullにも対応したとのコメントが付いていました。

開発中のプロジェクトで、再表示の時はnull返すルールと
してしまったため、nullを使いたいのですが、回避方法は
ないでしょうか?

よろしくお願い致します。

バージョン
 Seasar2 2.4.25
 Teeda  1.0.13-SP1

サンプル
public class ListTestPage {

    List<ListTestDto> listDtoItems;
    String aaa;
    String bbb;

    public String initialize() {

//        this.listDtoItems = new ArrayList<ListTestDto>();
//
//        ListTestDto listDto1 = new ListTestDto();
//        listDto1.setAaa("init_A");
//        listDto1.setBbb("init_B");
//        this.listDtoItems.add(listDto1);

        return null;
    }

    public String doTest1() {

        this.listDtoItems = new ArrayList<ListTestDto>();

        ListTestDto listDto1 = new ListTestDto();
        listDto1.setAaa("test1_1A");
        listDto1.setBbb("test1_1B");
        this.listDtoItems.add(listDto1);

        ListTestDto listDto2 = new ListTestDto();
        listDto2.setAaa("test1_2A");
        listDto2.setBbb("test1_2B");
        this.listDtoItems.add(listDto2);

        return null;
    }

    public String doTest2() {

        this.listDtoItems = new ArrayList<ListTestDto>();

        ListTestDto listDto1 = new ListTestDto();
        listDto1.setAaa("test2_1A");
        listDto1.setBbb("test2_1B");
        this.listDtoItems.add(listDto1);

        ListTestDto listDto2 = new ListTestDto();
        listDto2.setAaa("test2_2A");
        listDto2.setBbb("test2_2B");
        this.listDtoItems.add(listDto2);

        ListTestDto listDto3 = new ListTestDto();
        listDto3.setAaa("test2_3A");
        listDto3.setBbb("test2_3B");
        this.listDtoItems.add(listDto3);

        return null;
    }

    public List<ListTestDto> getListDtoItems() {
        return this.listDtoItems;
    }

    public void setListDtoItems(List<ListTestDto> listDtoItems) {
        this.listDtoItems = listDtoItems;
    }

    public String getAaa() {
        return this.aaa;
    }

    public void setAaa(String aaa) {
        this.aaa = aaa;
    }

    public String getBbb() {
        return this.bbb;
    }

    public void setBbb(String bbb) {
        this.bbb = bbb;
    }
}

public class ListTestDto implements Serializable  {

    private static final long serialVersionUID = 1L;

    private String     aaa;
    private String     bbb;

    public String getAaa() {
        return this.aaa;
    }
    public void setAaa(String aaa) {
        this.aaa = aaa;
    }
    public String getBbb() {
        return this.bbb;
    }
    public void setBbb(String bbb) {
        this.bbb = bbb;
    }

}

<body>
<form id="listTestForm">
  <table>
    <tbody id="listDtoItems" border="1">
      <tr>
        <td><input id="aaa" /></td>
        <td><input id="bbb" /></td>
      </tr>
    </tbody>
  </table>
  <input id="doTest1" type="submit" value="test1" />
  <input id="doTest2" type="submit" value="test2" />
</form>
</body>


-- 
-----------------------------------------------------
 十八ソフトウェア株式会社
 システム開発部 アプリケーション開発課  木村 究道
 〒850-0861 長崎市江戸町6-5江戸町センタービル6F
 TEL:095-824-0018  FAX:095-827-8754
 E-mail: [E-MAIL ADDRESS DELETED]
-----------------------------------------------------



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