gpt4 book ai didi

java - Servlet Controller - 带参数重定向

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:24 24 4
gpt4 key购买 nike

我正在使用 Spring MVC Web 应用程序:Servlet + JSP + Hibernate。这是我的 CustomerController.java

的一部分
@RequestMapping(value="/CustomerList", method = RequestMethod.GET)
public ModelAndView customerList() {
ModelAndView model = new ModelAndView();
model.setViewName("Customer.List"); // for Tiles View
model.addObject("listCustomer", DAO_Customer.getListCustomer());
return model;
}

@RequestMapping(value="/Customer/{id}/Delete", method = RequestMethod.GET)
public String deleteCustomer(@PathVariable("id") int id, Model model) {
boolean isSuccess = DAO_Customer.deleteCustomer(id);
if (!isSuccess) {
model.addAttribute("error", "Failed");
}
model.addAttribute("success", "Successed");

return "redirect:/CustomerList";
}

这里是 CustomerList.jsp 文件中要显示的代码:

...
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${not empty error}">
<p>${error}</p>
</c:if>
<c:if test="${not empty success}">
<p>${success}</p>
</c:if>
...

我想重定向到 /CustomerList 并包含参数 error + success
问题是,当我运行时,它返回 /CustomerList?success=Successed 并且除了默认客户列表之外什么都没有显示

我搜索了很多,但真的不知道如何做我想做的事。感谢大家的阅读和帮助。

最佳答案

您可以尝试使用 RedirectAttributes#addAttribute .

@RequestMapping(value="/Customer/{id}/Delete", method = RequestMethod.GET)
public String deleteCustomer(@PathVariable("id") int id, RedirectAttributes redirectAttributes) {
boolean isSuccess = DAO_Customer.deleteCustomer(id);
if (!isSuccess) {
redirectAttributes.addAttribute("error", "Failed");
} else{ //also required
redirectAttributes.addAttribute("success", "Successed");
}
return "redirect:/CustomerList";
}

在这种情况下,如果成功,url 将变为 /CustomerList?success=Successed

您可以使用 EL 访问参数值,如下所示:

${param.success} or ${param.error}
<小时/>

您还可以使用RedirectAttributes#addFlashAttribute

redirectAttributes.addFlashAttribute("success", "Successed");

然后就可以直接通过${success}${error}访问。

关于java - Servlet Controller - 带参数重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654293/

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