0

ここで誰かが私を正しい方向に向けてくれることを願っています。基本的に、リクエストから Spring コントローラーに 404 が返され続けます。コントローラーはビュー名「showcardOverview」を返します。リクエストは問題なくコントローラーに入ります。タイルがビュー名をタイル定義に解決できない理由がわかりません。

以下は私の設定ファイルです:

タイル防御

<tiles-definitions>
    <definition name="base" template="/jsp/layouts/flagship.jsp">
        <put-attribute name="head" value="/jsp/assets/head.jsp" />
        <put-attribute name="left" value="/jsp/assets/left.jsp" />
    <put-attribute name="right" value="/jsp/assets/right.jsp" />
        <put-attribute name="body" />
    </definition>

    <definition name="showcardOverview" extends="base">
        <put-attribute name="body" value="/jsp/Showcard-Overview.jsp" />
    </definition>
</tiles-definitions>

スプリングビュー構成

<mvc:annotation-driven></mvc:annotation-driven>
<context:component-scan base-package="com.tms.zcore.movies.controller" />

<bean id="tilesviewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>      
    <property name="order" value="1"/>
</bean>

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

編集:

これが私のコントローラークラスです

@Controller
@RequestMapping(value="/Showcard")
public class MovieShowcardController {

    @RequestMapping("/Overview/{id}/{seoName}")
    public String getMovieOverview(@PathVariable(value="id") String movieId, @PathVariable(value="seoName") String seoName, Model model) {
        return "showcardOverview";
    }
}
4

2 に答える 2

1

TilesViewResolver/TilesView 内でデバッグして、Tiles 定義が正しく解決されるかどうかを確認しましたか? 404 は、そうであり、Tiles が JSP に転送したが失敗したことを意味します。同じことが Tiles 2 でも機能しますか? つまり、これは Tiles 3 関連の問題ですか?

于 2013-05-09T21:44:03.307 に答える
1

たとえば、タイル定義内で jsp のフルパスを使用します。/jsp/layouts/flagship.jsp の代わりに /WEB-INF/jsp/layouts/flagship.jsp を配置

于 2013-07-02T07:17:25.930 に答える