Spring:同时使用3个不同的控制器调用相同的jsp页面

时间:2013-07-28 08:45:19

标签: spring jsp model-view-controller

我试图在同一个jsp页面中显示3个表。 每个表由不同的控制器处理。(每个控制器向模型添加一个属性(列表)。)

所以我有三个控制器包含每个方法: @RequestMapping(值= “/索引”)

并且每个方法返回:return“Display”;

这是一个控制器的方法:

@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";
}

似乎一个jsp页面不能被不同的控制器同时调用(错误500),那么如何在同一个jsp页面中同时显示不同的表?

感谢;

1 个答案:

答案 0 :(得分:2)

您不能将3个控制器映射到同一路径。春天怎么会知道哪一个叫?让一个控制器映射到路径并调度到JSP,并从该控制器调用3个方法,每个方法负责其中一个表在视图中显示:

@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命名约定。类不包含下划线。