gpt4 book ai didi

java - 在 Spring MVC 中将变量从@Controller 传递到@ControllerAdvice

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:54 25 4
gpt4 key购买 nike

我创建了必须为我设置一些模型属性的 @ControllerAdvice

@ModelAttribute
public void globalAttributes(Model model) {
model.addAttribute("pageId", PAGE_ID);
}

这是我需要的通用示例,PAGE_ID 表示实际 Controller 必须设置的一些变量。由于 @ControllerAdvice 在 Controller 之前运行,我如何声明这个变量并在 Advice 中使用它?如果可能的话。

最佳答案

我认为更好的解决方案是为您的 Controller 使用某种抽象类模式

public abstract class AbstractController {

@ModelAttribute
public void globalAttributes(Model model) {
model.addAttribute("pageId", getPageId());
}

abstract String getPageId();
}

public class MyController extends AbstractController {

@Override
public String getPageId() {
return "MyPageID"
}

//..your controller methods
}

关于java - 在 Spring MVC 中将变量从@Controller 传递到@ControllerAdvice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34177998/

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