2011-02-04 3 views
0

저는 Tiles 2와 Spring 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 [에 매핑은 URI [/ * .jsp로]/WEB-INF에 HTTP 요청을 찾을 수 없습니다"에 대한 모든 타일.

서블릿 매핑에서 (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를 사용)로 매핑하는 것이었다. 내 원래의 문제는 약간 다릅니다. 컨트롤러 (이전 링크) 요청을 파견하는 스프링 필터를 사용하지만 불행히도 최대 절전 모드 세션이 전달되지 않았고 새 연결이 만들어 질 때마다 풀에서 연결이 끊어졌습니다. 따라서 jsp를 더 이상 매핑 할 필요가 없으므로 cp30을 올바르게 구성하여 해결했습니다. –

답변

0

web.xml에서 이것을 수행하는 대신 context 파일에서 구성해야합니다. 지침은 봄 docs에서 사용할 수 있습니다.

0

내 spring-context.xml의이 소책자가 구성을 작성하는 데 도움이 될 수 있습니다. 는 타일 구성 파일의 두 종류가 있다는 사실에 기초 :

  • /WEB-INF/layouts/tiles-layouts.xml는
  • /WEB-INF/JSP definitin 타일 레이아웃을 포함 뷰 및 JSP /WEB-INF/jsp/controllers/**/views.xml 파일의

    <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> 
    

하나를 결합 여러 개의 파일은 /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>