Tiles 2 And Не найдено сопоставление для HTTP-запроса с URI - Spring-MVC - PullRequest
3 голосов
/ 05 июня 2010

Я хочу использовать интеграцию Spring-Tiles. Здесь вы можете увидеть, как выглядит мое приложение.

Итак, мой вопрос: почему сервлет-диспетчер Spring-MVC не может разрешить мою страницу назначения ???

Ответы [ 3 ]

4 голосов
/ 05 июня 2010

Проблема в том, что вы используете <url-pattern>/*</url-pattern> в отображении сервлета, поэтому все запросы обрабатываются DispatcherServlet, включая запрос к плиткам *.jsp. Наиболее универсальный способ ее решения (но для сохранения релевантных URL без префиксов) - использовать UrlRewriteFilter .

2 голосов
/ 25 декабря 2010

Я думаю, что вам не хватает критического ViewResolver. Я проверил сообщение, упомянутое вами в SpringSource, но не увидел следующий ViewResolver:

org.springframework.web.servlet.view.tiles2.TilesViewResolver

Попробуйте добавить этот ViewResolver и посмотрите, поможет ли это. Я также использую Spring и Tiles. Я просто должен объявить это и TilesConfigurer.

Проверьте эти ссылки:

1 голос
/ 11 декабря 2010

Это распространенная проблема с использованием Spring, и это связано с тем, что представление (jsp) проходит через DispatcherServlet.

Попробуйте изменить ваш файл web.xml, используя

 <servlet>  
    <servlet-name>dispatcher</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
</servlet>  
<servlet-mapping>  
     <servlet-name>dispatcher</servlet-name>  
     <url-pattern>/app/*</url-pattern>  
</servlet-mapping>

изатем добавьте в свой urlrewrite.xml что-то вроде:

<urlrewrite default-match-type="wildcard">
<rule>
    <from>/</from>
    <to>/app/</to>
</rule>
<rule>
    <from>/**</from>
    <to>/app/$1</to>
</rule>
<outbound-rule>
    <from>/app/**</from>
    <to>/$1</to>
</outbound-rule>

Я предполагаю, что вы используете urlrewrite, если вы не импортируете банку и добавляете отображение фильтра в свойweb.xml, например:

<filter>
    <filter-name>urlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>urlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> 
...