gpt4 book ai didi

java - 如何仅在使用spring单击java中的提交按钮后才转到下一页

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:16 26 4
gpt4 key购买 nike

我只需要在点击提交按钮后重定向到一个页面,而不是直接在地址栏中输入 url。如果直接在地址栏中输入,则应该显示主页。

我正在使用 session.getAttribute 来执行上述过程。我在想是否有任何替代方案,因为我需要为每个发布方法执行此操作...

以下方法适用于第一页,我在其中创建了一个 session 属性,该属性将在下一页中使用。

 @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";
}
}

下面的方法是针对使用上面声明的 session 的下一页。

@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";
}
}

有没有其他方法可以做到这一点,因为我必须对所有方法都这样做......

最佳答案

每当我必须进行帖子提交时,我总是使用一个中间页面来捕获 POST 数据并将数据存储在数据库中并将记录 key 存储在 session 中并将其重定向到我检查记录 ID 的显示页面如果它在那里,那么我从数据库中检索数据并显示它,如果不显示错误消息。

因此,即使有人直接访问您的显示页面(输入网址),它也会显示一条错误消息,并且在大多数情况下,人们不会看到中间页面网址,但即使他们看到了,您也可以为您的 html 使用随机标记形成并存储在 session 中并在中间页面上验证它。

希望对您有所帮助。

关于java - 如何仅在使用spring单击java中的提交按钮后才转到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com