这是在项目开始时用于更改poseidon主题的主题颜色的正确配置。
主题的颜色与数据库中的配置文件信息一起提供,我要做的是首先要检索配置文件,然后根据配置文件信息中的颜色更改颜色
@Bean
public ServletContextInitializer initializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("joinfaces.primefaces.theme", "poseidon-blue");
}
};
}
个人资料POJO
@Named("profileMBean")
@SessionScoped
public class ProfileMBean implements Serializable {
private UserDTO user;
private String theme ;
@PostConstruct
public void init() {
user = getuserfom API;
theme = user.getThemeName();
}
}
ServletContext注入始终返回null@注入ServletContext servletContext;
我需要等同于
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{profileMBean.user.themeName}</param-value>
</context-param>
我使用了Spring Boot应用程序,但没有web.xml文件
您可以在Spring中使用SecurityContextHolder
来获取当前经过身份验证的用户。这里有一些示例:https://www.baeldung.com/get-user-in-spring-security。
user = SecurityContextHolder.getContext().getAuthentication()...