0

Spring 3.05でTiles 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 [/WEB-INF/ * .jsp] の HTTP リクエストのマッピングが見つかりませんでした」というメッセージが表示されます。

(WEB-INF 内の) タイルをサーブレット マッピングから除外するにはどうすればよいですか? または、それらのファイルをタイルサーブレットに明示的にマップできますか?

4

2 に答える 2

0

この spring-context.xml の一部が、構成の構築に役立ちますように。これは、2 種類のタイル構成ファイルがあるという事実に基づいています。

  • /WEB-INF/layouts/tiles-layouts.xml には、タイル レイアウトの定義が含まれています。
  • /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 ファイルの 1 つ:

 <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> 
于 2011-02-04T11:04:08.067 に答える
0

でこれを行う代わりに、web.xmlおそらくcontextファイルで構成する必要があります。手順は spring docsにあります。

于 2011-02-04T07:46:06.363 に答える