首页 > 解决方案 > JSP页面从Controller返回时加载数据失败

问题描述

我的 JSP 页面有问题。这是我的页面的样子,非常简单。

@GetMapping("/showTable")
public ModelAndView checkCandidateStatus(HttpServletRequest request) {
    ModelAndView model = new ModelAndView("table");

    // get some data and send it to jsp
    model.addObject("tableData", tableRecords);
    return model;
}

如果我从菜单访问这个页面(点击所以还有一个 GET 请求)一切正常,但是如果我试图从其他控制器返回这个页面:

@PostMapping("/editRow")
public String editRow(HttpServletRequest request) {
    //some code here
     return "table";
}

这里是最后一个端点,当我返回与上面“table.jsp”相同的 JSP 页面时,页面只加载没有数据的静态内容,只是纯 HTML。

据我了解,只返回了 JSP 页面,并且调用了端点/showTable,因此没有添加任何数据。有没有办法从我的/editRow端点返回有效的表格视图?

编辑:我可以直接调用上面的端点,但我认为也许有更优雅的方法来解决这个问题。

谢谢

标签: spring-mvc

解决方案


您已在此代码中使用模型将数据添加到 JSP:

@GetMapping("/showTable")
public ModelAndView checkCandidateStatus(HttpServletRequest request) {
     ModelAndView model = new ModelAndView("table");

    // get some data and send it to jsp
    model.addObject("tableData", tableRecords);
    return model;
}

同样,您必须像这样将模型对象添加到 JSP 页面:

@PostMapping("/editRow")
public String editRow(HttpServletRequest request) {
    //some code here
    // get some data and send it to jsp
     model.addObject("tableData", tableRecords);
     return "table";
}

推荐阅读