我只需要在单击提交按钮后重定向到一个页面,而不是直接在地址栏中输入 url。如果直接在地址栏中输入,那么它应该显示主页。
我正在使用 session.getAttribute 来完成上述过程。我在想是否有任何替代方法,因为我需要为每个发布方法都这样做......
下面的方法适用于第一页,我在其中创建了一个会话属性,用于下一页。
@RequestMapping(value = "/payment", method = RequestMethod.POST)
public String submitForPayment(@ModelAttribute("deposit") Deposit deposit, ModelMap model, HttpServletRequest request) throws IOException
{
try {
HttpSession sessionForNextPage = request.getSession(true);
sessionForNextPage.setAttribute("vNumber",
deposit.getValidityNumber());
return "redirect:success";
} catch (NullPointerException exception) {
return "redirect:payment";
}
}
下面的方法适用于使用上面声明的会话的下一页。
@RequestMapping(value = "/success", method = RequestMethod.GET)
public String showSuccess(ModelMap model, HttpServletRequest request)
{
try {
view = "success";
HttpSession session = request.getSession(false);
int vNumber = (int) session.getAttribute("vNumber");
System.out.println(vNumber);
if (vNumber != 0) {
request.getSession(false).removeAttribute("vNumber");
return view;
}
else
return "pay";
} catch (Exception e) {
return "redirect:pay";
}
}
有没有其他方法可以做到这一点,因为我必须对所有方法都这样做......