Java, Spring 3.0.5, интеграция с плитками Apache 2.2.2

Следуя этому руководству: http://viralpatel.net/blogs/2010/07/spring-3-mvc-tiles-plugin-tutorial-example-eclipse.html

Конфигурация тайлов (tiles.xml):

<?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
<context:component-scan base-package="hello.spring3.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" 
        value="org.springframework.web.servlet.view.tiles2.TilesView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp" />
</bean>

<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>
1.dtd"> <tiles-definitions> <definition name="base.definition" template="/WEB-INF/jsp/layout.jsp"> <put-attribute name="title" value="" /> <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" /> <put-attribute name="body" value="" /> <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> </definition> <definition name="contact" extends="base.definition"> <put-attribute name="title" value="Contact Manager" /> <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" /> </definition> </tiles-definitions>

весна-servlet.xml

<context:component-scan base-package="hello.spring3.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" 
        value="org.springframework.web.servlet.view.tiles2.TilesView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp" />
</bean>

<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>

когда я запускаю его, я получаю сообщение об ошибке: http://pastebin.com/KY541YKD

В чем может быть проблема? если у вас есть какие-либо вопросы о других файлах/конфигурации, спросите меня


person Jaanus    schedule 10.08.2011    source источник


Ответы (1)


Из вашей ошибки:

java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule

Похоже, у вас отсутствует версия commons-digester до версии 3.0.

person Jeremy    schedule 10.08.2011
comment
Версия 3 дайджеста использует имя пакета org.apache.commons.digester3. Используйте последнюю версию 2.x. - person Jeremy; 10.08.2011
comment
Хм, это может быть одно, но мне интересно, есть ли дайджест3, что я должен сделать, чтобы заставить его работать с дайджестом3... - person Jaanus; 10.08.2011
comment
Вероятно, вам придется дождаться обновлений Spring и/или Tiles. В любом случае, смысл изменения имени пакета заключается в том, чтобы вы могли без проблем иметь и дайджест2, и дайджест3 в пути к классам. - person Jeremy; 10.08.2011
comment
Хм, хорошо, только проблема в том, что я не могу найти место, где можно скачать последний дайджест версии 2.x с .. - person Jaanus; 10.08.2011
comment
@JeremyHeiler Я пробовал тот же учебник, но получил java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory. Подумал, что проблема может быть в slf4j-log4j12-1.4.2.jar, поэтому заменил на slf4j-log4j12-1.6.6.jar, но результата все равно не было. Та же ошибка. Плюс вверху дал org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 12. В этой строке у меня есть <jsp:forward page="contacts.html"></jsp:forward>. Как в учебнике. Не могли бы вы помочь и мне? - person Eugene; 28.06.2012
comment
@Eugene: вам, вероятно, не хватает slf4j-api.jar - person Jeremy; 12.07.2012
comment
@JeremyHeiler, да. Исправил уже давно, но все равно спасибо. - person Eugene; 12.07.2012