我的 spring mvc 应用程序中的控制器有问题。
我从数据库中获取所有实体并将它们放在我的 jsp 页面中的表中。
我正在添加一个实体,该功能运行良好,它添加了一个实体并刷新了页面。但是当我尝试刷新页面时出现问题......再次添加相同的实体,通常在每次刷新添加实体后再次执行 post 方法,最后我有许多相同的实体。
这是添加新实体的 post 方法:
@RequestMapping(value = "/adminpanel", method = RequestMethod.POST)
public ModelAndView addNewSoftware(@ModelAttribute VersionInformation versionInformation)
{
ModelAndView model = new ModelAndView("panel");
persistanceDAO.insertVersionInformation(versionInformation);
systemVersionsList.clear();
systemVersionsList.addAll(persistanceDAO.getSystemVersions());
model.addObject("systemVersionsList",systemVersionsList);
model.addObject("versionInformation", new VersionInformation());
return model;
}
这是我的 GET 方法:
@RequestMapping(value = "/adminpanel/add", method = RequestMethod.POST)
public ModelAndView addNewSoftware(@ModelAttribute VersionInformation versionInformation)
{
ModelAndView model = new ModelAndView("panel");
persistanceDAO.insertVersionInformation(versionInformation);
systemVersionsList.clear();
systemVersionsList.addAll(persistanceDAO.getSystemVersions());
model.addObject("systemVersionsList",systemVersionsList);
model.addObject("versionInformation", new VersionInformation());
return model;
}
另一个问题是,当我删除实体时,实体被删除,但网站没有刷新。这是我负责删除实体的 post 方法:
@RequestMapping(value = "/adminpanel/delete", method = RequestMethod.POST)
public ModelAndView deleteSoft(@ModelAttribute(value="currentId") int currentId, @ModelAttribute VersionInformation versionInformation)
{
ModelAndView model = new ModelAndView("panel");
persistanceDAO.deleteSystemVersion(currentId);
systemVersionsList.clear();
systemVersionsList.addAll(persistanceDAO.getSystemVersions());
model.addObject("systemVersionsList",systemVersionsList);
model.addObject("versionInformation", new VersionInformation());
return model;
}