java - web.xml 中的上下文参数值被忽略
问题描述
我一直想知道为什么没有应用 primefaces 主题并且永远无法修复它。今天我发现当我向我的应用程序添加一个 Bean“ServletContextInitializer”时,web.xml
它的工作原理与它相同。我读了一些app.properties
可能会覆盖设置的内容?我得到了一个application.properties
但只是用于数据库和 jpa/hibernate。
应用:
@EnableAutoConfiguration
@ComponentScan({ "de.develop.telefonbuch" })
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public FilterRegistrationBean<RewriteFilter> rewriteFilter() {
FilterRegistrationBean<RewriteFilter> rwFilter = new FilterRegistrationBean<RewriteFilter>(new RewriteFilter());
rwFilter.setDispatcherTypes(
EnumSet.of(DispatcherType.FORWARD, DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.ERROR));
rwFilter.addUrlPatterns("/*");
return rwFilter;
}
@Bean
public ServletContextInitializer servletContextCustomizer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext sc) throws ServletException {
sc.setInitParameter(Constants.ContextParams.THEME, "afternoon");
sc.setInitParameter(Constants.ContextParams.FONT_AWESOME, "false");
sc.setInitParameter(ProjectStage.PROJECT_STAGE_PARAM_NAME, ProjectStage.Development.name());
}
};
}
@Bean
public ServletRegistrationBean<FacesServlet> servletRegistrationBean() {
FacesServlet servlet = new FacesServlet();
return new ServletRegistrationBean<FacesServlet>(servlet, "*.jsf");
}
}
我的 web.xml 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd" version="3.1">
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>afterdark</param-value>
</context-param>
<context-param>
<param-name>primefaces.FONT_AWESOME</param-name>
<param-value>false</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
</web-app>
解决方案
推荐阅读
- http - HttpServletResponse getWriter() 写函数几天后开始抛出空指针异常?
- javascript - django 使用一个 url 运行自定义视图类方法
- c++ - 无法在具有自定义运算符 ==() 的 c++ 无序集中找到用户定义的类型
- xamarin - Xamarin 表单中的屏蔽密码字符不起作用
- azure-api-management - 我们如何访问存储在 CA 证书下的 API 管理中的证书
- wordpress - Mamp Pro localhost:8888 被重定向并显示“无法访问站点错误”
- java - JAXB - Marshaller 写入系统输出但不写入 XML 文件
- java - 如何在同一个@ControllerAdvice 中同时处理反应式和 mvc ServerHttpRequest?
- php - CHILD_THEME_VERSION 上未定义常量的 WordPress 问题
- amazon-web-services - 如何使用 S3 ListBucket 列出 1000 多个对象?