1

Thymeleaf と Apache Tiles 2.x の統合を使用しようとしています。彼らはそれを機能させる方法のガイドを持っているので、それに従いましたが、今は行き詰まっています。

type基本的に、この統合により、JSP と Thymeleaf テンプレートの両方を使用できます。ガイドによると、タイトル定義ファイルで属性を設定することで、どちらを使用するかを判断できるはずです。デフォルトのオプションは Thymeleaf です。

私は 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)
...

これは私のタイル定義ファイルです:

<?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と、同じエラーが発生しました。

それを機能させる方法はありますか?

4

1 に答える 1

2

type属性は要素にのみ存在します<put-attribute/>。対照的に、<definition/>要素では、属性を呼び出す必要がありますtemplateType

よろしく。

于 2012-08-30T12:54:40.557 に答える