我在试着用Thymeleaf integration with Apache Tiles 2.x。他们有一个如何让它工作的指南,所以我遵循了它,但现在我被卡住了。
基本上,这种集成允许同时使用JSP和Thymeleaf模板,根据指南,您应该能够通过在标题定义文件中设置type属性来辨别使用哪种模板。默认选项为胸腺叶。
因为我是缓慢地从JSP迁移过来的,所以绝大多数模板都是JSP,所以我需要使用这个type属性,但随后我得到一个错误,指出我的标题定义文件无效:
org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:332)
at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
...这是我的tiles定义文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="default" template="/WEB-INF/layouts/default.jspx" type="jsp">
</definition>
</tiles-definitions>如果我删除DOCTYPE部件,我得到相同的错误。
你知道怎么让它工作吗?
发布于 2012-08-30 20:54:41
type属性只存在于<put-attribute/>元素中。相反,<definition/>元素要求您的属性称为templateType。
致以问候。
https://stackoverflow.com/questions/12182481
复制相似问题