【问题标题】:Spring : Calling same jsp page with 3 different controllers simultanouslySpring:同时使用 3 个不同的控制器调用同一个 jsp 页面
【发布时间】:2013-07-28 08:45:19
【问题描述】:

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

所以我有三个控制器,每个控制器包含一个方法: @RequestMapping(value="/index")

每个方法返回: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页面中同时显示不同的表格呢?

谢谢;

【问题讨论】:

    标签: spring jsp model-view-controller


    【解决方案1】:

    您不能将 3 个控制器映射到同一路径。 Spring 怎么知道该调用哪一个?将一个控制器映射到路径并分派到 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 命名约定。类不包含下划线。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-20
      • 2017-05-15
      • 2023-03-03
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      相关资源
      最近更新 更多