0

同じ jsp ページに 3 つのテーブルを表示しようとしています。各テーブルは個別のコントローラーによって処理されます (各コントローラーはモデルに属性 (リスト) を追加します)。

だから私は、@RequestMapping(value="/index") を持つ各メソッドを含む3つのコントローラーを持っています

そして、各メソッドは以下を返します: return "Display";

ここに1つのコントローラのメソッドがあります:

@RequestMapping(value="/index")
public String pageIndex(Model model)
{  Ods_Gis_Actel e= new Ods_Gis_Actel("555", "france", "75L","555");
    List<Ods_Gis_Actel> liste = new ArrayList<Ods_Gis_Actel>();
      liste.add(e);



    model.addAttribute("listeOds",liste);
    return "Display";
}

1 つの jsp ページを異なるコントローラーから同時に呼び出すことはできないようです (エラー 500)。同じ jsp ページに異なるテーブルを同時に表示するにはどうすればよいですか?

ありがとう;

4

1 に答える 1

2

3 つのコントローラーを同じパスにマップすることはできません。Spring は、どちらを呼び出すべきかをどのように知るのでしょうか? 1 つのコントローラーをパスにマップして JSP にディスパッチし、このコントローラーから 3 つのメソッドを呼び出します。各メソッドは、ビューに表示するテーブルの 1 つを担当します。

@RequestMapping(value = "/index")
public String pageIndex(Model model) {
    addFirstTableDataToModel(model);
    addSecondTableDataToModel(model);
    addThirdTableDataToModel(model);

    return "Display";
}

private void addFirstTableDataToModel(Model model) {
    Ods_Gis_Actel e= new Ods_Gis_Actel("555", "france", "75L","555");
    List<Ods_Gis_Actel> liste = new ArrayList<Ods_Gis_Actel>();
    liste.add(e);
    model.addAttribute("listeOds", liste);
}

また、Java 命名規則を尊重してください。クラスにはアンダースコアが含まれていません。

于 2013-07-28T09:02:19.443 に答える