如何添加一个“全局”变量(如用户名),以便在模板上下文中使用?
目前,我正在将这些显式设置到我的TemplateController中的每个ModelAndView对象。
如果您只是想从应用程序中获得一些东西。属性输入到您的thymeleaf模板中,然后您可以使用Spring的SpEL。
${@environment.getProperty('name.of.the.property')}
ControllerAdvice为我工作:
@ControllerAdvice(annotations = RestController.class)
public class AnnotationAdvice {
@Autowired
UserServiceImpl userService;
@ModelAttribute("currentUser")
public User getCurrentUser() {
UserDetails userDetails = (UserDetails)
SecurityContextHolder.getContext()
.getAuthentication().getPrincipal();
return userService.findUserByEmail(userDetails.getUsername());
}
}
有几种方法可以做到这一点。
如果要向单个控制器提供的所有视图添加变量,可以添加带注释的方法(请参阅参考文档)。
请注意,您还可以使用相同的@Model属性
机制,一次寻址多个控制器。为此,您可以在带有@ControlllerAdvie
注释的类中实现该@ModelAtcm
方法-请参阅参考文档。
这似乎不起作用。 我还尝试在代码生成器使用的xml中添加架构名称,如 http://www.jooq.org/doc/3.5/manual/code-generation/codegen-advanced/
问题内容: 我想在每个页面上显示一个导航栏。在PHP中,我会编写导航栏,然后将其包含在其他页面上。我试图将导航栏模板包括或扩展到其他模板中,但是没有用。它仅输出“这是主页”。如何在每个模板中正确包含导航栏? layout.html index.html 问题答案: 使用所有页面共有的布局和导航创建基本模板。然后扩展此模板以创建实际的页面。向基本模板中添加可以在其他模板中覆盖的块。 base.htm
请帮帮我!!我到处找了很多,找到了任何有用的信息,或者我有,但我不能在这么短的时间内测试我在web上找到的所有东西,而且spring文档似乎只对普通情况和xml配置非常好,不适合我试图做的疯狂的事情,也不适合编程配置。
我有一些不应该实例化的带有自定义注释的类(抽象类,它只是实际bean的子组件)。但是在这些类之上,在运行时,在上下文初始化阶段,我想在应用程序上下文中添加额外的bean。 因此,基本上我需要扫描类路径,处理结果,并将新bean引入curent应用程序上下文。 似乎是spring-mvc、spring-tasks和spring-integration在做这件事(我试着从源代码中学习--没有运气) 我
我有一个eureka服务,它有一个swagger。eureka在http://localhost:8050,服务按名称 /service.问题是当我打开swagger并尝试发出请求时,它会将其发送到。该服务有一个上下文路径“path”,因此它应该是。这是swagger的配置: