我在我的彈簧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;
}
您的獲取方法與您的發佈方法相同嗎?看起來像複製和粘貼錯誤。 –
Okey,我將post方法更改爲「/ adminpanel/add」。瀏覽器轉到「adminpanel/add」,然後當我刷新它再次添加相同的實體。我如何強制它去「/ adminpanel」? –