我已经检查了大部分spring-boot提供的JSP示例,因为视图技术被打包为WAR工件。
如果可能的话,为此提供一个jar示例会很好吗?
我知道JSP需要一个Servlet Engine / Servlet容器,而不是Freemarker ..用于渲染..但Jetty或Tomcat Servlet容器是否可行并且可能?
到目前为止尝试这种设置并没有太大的成功,我的最后一次尝试是创建一个
META-INF / resources文件夹放置所有这些jsp资源,但它们对ViewResolver仍然不可见
@Bean
public ViewResolver jspViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/META-INF/resources/jsp/");
viewResolver.setSuffix(".jsp");
viewResolver.setOrder(2);
return viewResolver;
}
最后..正在尝试这样的设置:
http://alexismp.wordpress.com/2010/04/28/web-inflib-jarmeta-infresources/
由于
答案 0 :(得分:1)
AFAIK不可能(由于容器施加的限制):http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations
答案 1 :(得分:0)
这不是 jar 答案,但仍然是非WAR 答案:)
将您的JSP文件放在:
{ "src/main/webapp", "public", "static" }
代码取自AbstractEmbeddedServletContainerFactory。现在我发现spring-boot引用误导(27.1.5 Static Content)。它提到了静态内容的几个目录,但没有提到上面的内容。但我仍然感到高兴它是一个开源世界,而UTSL也在工作:)
如您所见,resources
目录未包含在内。 JSP sample application(在27.3.5 JSP限制下提到)运行良好,因为它使用src/main/webapp
来表示jsp文件。
根据第一次匹配选择根目录。并且ServletContainerFactory会响应提及.ocument root
的调试(精细)级别消息。您可以查找它,无论它是否找到了根目录。