返回相同的视图仍会获得旧的视图数据

时间:2018-10-08 19:36:57

标签: spring spring-mvc

更改很少后,我将返回同一视图。

@RequestMapping(value="/next/{nextNo}")
public ModelAndView next(@PathVariable("nextNo") int nextNo,
        ModelMap model) {
    System.out.println(nextNo);
        List<Employee> listEmp = empService.findAllEmployees();
        RosterData data = new RosterData();
        data.setListEmployee(listEmp);
        data.setDays(UtilClass.getDays(nextNo));
        data.setCurrentWeek(UtilClass.getCurrrentWeek(nextNo));
        List<Roster> shiftList = rosterService.findAllShift();
        data.setRoster(shiftList);
        model.addAttribute("employees", data);
        return new ModelAndView("roster");
}

我已经在花名册视图中并在调用上面的控制器代码。但是我的看法不是用新数据更新,当我调试和登录时,我正在获取更新的数据。在浏览器中,我总是获取旧数据。该页面无法再次加载,我尝试对document.ready函数发出警报。 请帮助

1 个答案:

答案 0 :(得分:0)

问题可能是您将属性"employees"设置为一个模型对象,并将另一个模型对象(RosterDomain)设置为ModelAndView("roster","roster",new RosterDomain());构造函数中的第三个参数。您可以

  1. 将要设置属性的同一模型对象传递给当前构造函数,因此将return new ModelAndView("roster","roster",new RosterDomain());替换为return new ModelAndView("roster","roster",model);

甚至更好(推荐)

  1. 使用其他构造函数,并将模型设置为您要为其设置"employees"属性的模型。因此,return new ModelAndView("roster");和您使用的模型将自动“附加”到ModelAndView