2011-02-04 6 views
0

Я использую плитки 2 с пружиной 3.05. Я хочу сопоставить файлы jsp с контроллером, например.Плитка 2, отображение JSP

<servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>*.html</url-pattern> 
     <url-pattern>*.jsp</url-pattern> 
</servlet-mapping> 

Когда я делаю это, я получаю "[WARN] org.springframework.web.servlet.PageNotFound [отображение не найдено для запроса HTTP с URI [/ WEB-INF/* .jsp]" для все плитки.

Как я могу исключить плитки (изнутри WEB-INF) из сервлет-отображения? или, может быть, я могу явно сопоставить эти файлы с сервлетами для фрагментов?

+0

Почему вы хотите сопоставить файлы jsp с контроллером? Также см. Http://stackoverflow.com/questions/2764636/how-can-i-map-a-spring-controller-to-a-url-with-jsp-extension – Ritesh

+0

@rRitesh, спасибо за ссылку. То, что я хотел сделать, - сопоставить старые ссылки jsp с новым сайтом (использующим Spring mvc). Моя первоначальная проблема была несколько иной. Я использовал фильтр весны для отправки запроса (старым ссылкам) на контроллеры, но, к сожалению, сеанс hibernate не был передан и каждый раз, когда было создано новое соединение, что вызвало запуск соединений из пула. Я решил это путем правильной конфигурации cp30: , и поэтому мне больше не нужно сопоставлять jsps. –

ответ

0

Вместо этого в web.xml, вероятно, вы должны настроить его в своем файле context. Инструкции доступны весной docs.

0

Может ли этот sippet моего spring-context.xml помочь вам в создании вашей конфигурации. Он основан на том, что существует два типа файлов конфигурации плитки:

  • /WEB-INF/layouts/tiles-layouts.xml содержит плитки макет definitin
  • /WEB-INF/JSP /controllers/**/views.xml несколько файлов, которые связывают представление и JSP

    <bean id="viewResolver" 
         class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
         <property name="requestContextAttribute" value="requestContext" /> 
         <property name="viewClass" 
           value="org.springframework.web.servlet.view.tiles2.TilesView" /> 
    </bean> 
    
    <!-- Configure Apache Tiles for the view --> 
    <bean id="tilesConfigurer" 
         class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
         <property name="definitions"> 
           <list> 
             <value>/WEB-INF/layouts/tiles-layouts.xml</value> 
             <value>/WEB-INF/jsp/controllers/**/views.xml</value>       
           </list> 
         </property> 
    </bean> 
    

один из /WEB-INF/jsp/controllers/**/views.xml файлов:

<tiles-definitions> 

    <!-- Pages --> 
    <definition name="site/list" extends="standard-layout"> 
      <put-attribute name="title" value="List Sites" /> 
      <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/list.jsp" /> 
    </definition> 
    <definition name="site/show" extends="standard-breadcrumb-layout"> 
      <put-attribute name="title" value="Show Site" /> 
      <put-attribute name="breadcrumbNavigation" value="/WEB-INF/layouts/siteBreadcrumbNavigation.jsp" /> 
      <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/show.jsp" /> 
    </definition> 
    <definition name="site/create" extends="standard-layout"> 
      <put-attribute name="title" value="Create Site" /> 
      <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/create.jsp" /> 
    </definition> 
    <definition name="site/update" extends="standard-layout"> 
      <put-attribute name="title" value="Update Site" /> 
      <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/update.jsp" /> 
    </definition> 

</tiles-definitions> 
Смежные вопросы