gpt4 book ai didi

java - Spring:根据 View 重定向

转载 作者:行者123 更新时间:2023-12-02 11:54:25 25 4
gpt4 key购买 nike

我有 2 个相同的表单( View A 和 View B),它们使用相同的 Controller 。我希望当我发布 View A 时,将我重定向到 url x,当我发布 View B 时将我重定向到另一个 url (y)。这个函数可以实现吗

@RequestMapping(value = "/panics/closeCase", method = RequestMethod.POST)
public String closeCase(@ModelAttribute("closeCaseFrom") CloseCaseFrom closeCaseFrom, Model model) {

CloseCaseFrom sendCloseCaseFrom = new CloseCaseFrom();
sendCloseCaseFrom.setDetail(closeCaseFrom.getDetail());
sendCloseCaseFrom.setIdCasePanic(closeCaseFrom.getIdCasePanic());
sendCloseCaseFrom.setIdPanic(closeCaseFrom.getIdPanic());
sendCloseCaseFrom.setIdCasePanic(closeCaseFrom.getIdCasePanic());
sendCloseCaseFrom.setIdStaff(user.getIdStaff());
sendCloseCaseFrom.setIdUserSession(user.getIdUser());
sendCloseCaseFrom.setSessionToken(user.getToken());

panic.mClosePanicCase(sendCloseCaseFrom);


return "redirect:/alerts";

}

我如何知道哪个 View 触发 Controller ?

最佳答案

您可以在每个 View 中添加一个具有相同名称但不同值的隐藏输入元素。然后,您可以在 Controller 中获取该值并根据该值进行重定向。

此输入位于 ViewA 中

<input type="hidden" name="destination" value="a" />

此输入位于 ViewB 中

<input type="hidden" name="destination" value="b" />

在你的 Controller 中

@RequestMapping(value = "/panics/closeCase", method = RequestMethod.POST)
public String closeCase(@RequestParam destination, @ModelAttribute("closeCaseFrom") CloseCaseFrom closeCaseFrom, Model model) {

//..
if (destination.equals("a")) {
// a goes to urlx
return "redirect:/urlx";
if (destination.equals("b")) { // or just else {
// b goes to urly
return "redirect:/urly";

}

或者,您可以将实际目的地作为输入字段中的值,而不是值 a 或 b,并避免使用 if,只需将该目的地插入重定向中即可。

关于java - Spring:根据 View 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697912/

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