Struts плитки - простой putList вызывает ошибку разбора - PullRequest
0 голосов
/ 09 ноября 2010

Прошло много времени с тех пор, как я что-то делал в плитках.Я пытаюсь создать простой веб-сайт с функцией «хлебной крошки».Я бы использовал статичные хлебные крошки, так как навигация по моей странице довольно ограничена.Вот мой tiles-defs.xml файл:

<tiles-definitions> 
   <definition name=".template" path="/pages/template.jsp">
        <put name="title" value="Template"/>
        <put name="header" value="/pages/common_header.jsp"/>
        <putList name="breadcrumb"/>
        <put name="body" value="/pages/sample.jsp"/>
        <put name="footer" value="/pages/common_footer.jsp"/>
    </definition>

    <!-- staring page for the application -->
    <definition name=".start.page" extends=".template">
        <put name="title" value="Server details"/>
        <putList name="breadcrumb">
            <item value="Home" link="#"/>
        </putList>
        <put name="body" value="pages/home.jsp" type="page"/>
    </definition>

</tiles-definitions>

Просто введя <putList name="breadcrumb"> tile-defs отказывается анализировать: я продолжаю получать следующую ошибку:

SEVERE: Parse Error at line 45 column 18: The content of element type "definition" must match "(icon?,display-name?,description?,put*,putList*)".
org.xml.sax.SAXParseException: The content of element type "definition" must match "(icon?,display-name?,description?,put*,putList*)".

Это действительноскребок головыЕсть идеи, что не так?Использование Struts 1.3.8 JAR

1 Ответ

4 голосов
/ 04 декабря 2010

Жалуется на порядок элементов.Сначала вы поставили элементы put, а после всех - putList.Таким образом, код будет выглядеть примерно так:

<tiles-definitions> 
    <definition name=".template" path="/pages/template.jsp">
        <put name="title" value="Template"/>
        <put name="header" value="/pages/common_header.jsp"/>
        <put name="body" value="/pages/sample.jsp"/>
        <put name="footer" value="/pages/common_footer.jsp"/>
        <putList name="breadcrumb"/>
    </definition>

    <!-- staring page for the application -->
    <definition name=".start.page" extends=".template">
        <put name="title" value="Server details"/>
        <put name="body" value="pages/home.jsp" type="page"/>
        <putList name="breadcrumb">
            <item value="Home" link="#"/>
        </putList>
    </definition>

</tiles-definitions>
...