Hab*_*nes 5 freemarker jsp-tags spring-boot embedded-tomcat-8
我目前正在迁移Spring MVC Webapp(通过spring-boot将xml-config迁移到java-config,将tomcat迁移到嵌入式tomcat)。
该webapp使用freemarker作为模板引擎和JSP Taglib。现在,当我调用一个freemarker页面时,出现以下错误:
freemarker.ext.jsp.TaglibFactory$TaglibGettingException:
No TLD was found for the "http://www.springframework.org/tags/form" JSP taglib URI. (TLD-s are searched according the JSP 2.2 specification. In development- and embedded-servlet-container setups you may also need the "MetaInfTldSources" and "ClasspathTlds" freemarker.ext.servlet.FreemarkerServlet init-params or the similar system properites.)
Run Code Online (Sandbox Code Playgroud)
freemarker-header.ftl以以下代码段开头:
<#assign form=JspTaglibs["http://www.springframework.org/tags/form"]>
<#assign core=JspTaglibs["http://java.sun.com/jstl/core"]>
<#assign spring=JspTaglibs["http://www.springframework.org/tags"]>
<#assign osc=JspTaglibs["/WEB-INF/osc.tld"]>
Run Code Online (Sandbox Code Playgroud)
我没有找到任何可用的MetaInfTldSources和ClasspathTlds搜索结果。有人解决过这个问题吗?
哈比卜(KR Habib)
Spring Boot 不支持开箱即用地将 JSP 标记库与 Freemarker 一起使用。您可能会对一个开放的增强请求感兴趣。它包含一个可能的解决方法的链接,您可以在其中配置FreemarkerConfigurer标签库工厂,并使用要从类路径加载的一些附加 TLD:
freeMarkerConfigurer.getTaglibFactory().setClasspathTlds(\xe2\x80\xa6);\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3595 次 |
| 最近记录: |