2016-09-27 6 views
0

私はSpring MVCとapache-tilesでサンプルプロジェクトを作成しました。私の構成は、ディスパッチャ-servlet.xml TilesViewResolverがwarとしてデプロイ中に動作しない

以下のように非常に簡単です

.... 
<mvc:annotation-driven /> 
<context:component-scan base-package="com.abc.test" /> 
<mvc:resources location="/" mapping="/**"></mvc:resources> 
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" /> 
    <property name="order" value="0" /> 
</bean> 
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles/tile-definition.xml</value> 
     </list> 
    </property> 
</bean> 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/views/"></property> 
    <property name="suffix" value=".jsp"></property> 
</bean> 

タイル-definition.xml

... 
<tiles-definitions> 
    <definition name="baseLayout" template="/WEB-INF/views/baseLayout.jsp"> 
     <put-attribute name="title" value="Spring MVC Tiles Example" /> 
     <put-attribute name="content" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/views/footer.jsp" /> 
    </definition> 
    <definition name="app_home" extends="baseLayout"> 
     <put-attribute name="content" value="/WEB-INF/views/home.jsp" /> 
    </definition> 
</tiles-definitions> 

@Controller 
@RequestMapping("/home") 
public class HomeController { 
    @RequestMapping(method = RequestMethod.GET) 
    public String home(Model model) { 
     return "app_home"; 
    } 
} 

何もかもがうまく動作として一つだけのコントローラEclipse IDEで実行している間は問題はありません。しかし、warファイルを生成してTomcat-8サーバーにデプロイしたときには、tilesViewResolverは傍受されませんでした。私が404を取得し、ブラウザがロードしようとしていたのでtilesViewResolverがうまく動作しないと言っているのはなぜですかapp_home.jsp。これはタイルの論理ビュー名であり、tilesViewResolverは春のInternalViewResolverの前にこれをインターセプトする必要があります。

誰かがそれを経験しましたか?私は何が欠けていますか?

編集:添付ソースコード。

hereからフルコードをダウンロードできます。 warファイルをターゲットフォルダからコピーして、Tomcatサーバーのwebappsディレクトリに貼り付けます。問題は上記のとおりです。

+0

戦争の構造を見せてもらえますか? – Veeram

+0

@Reddy添付ソースコード。 – Cataclysm

+0

WEB-INFの下でタイル定義xmlを移動できますか? – Veeram

答えて

0

私はそれがapache-tilesバージョン3.0.3のバグだったと思います。今私は最新のバージョン(現在3.0.7にアップグレードして、すべてうまくいきます。 @ Samと@Reddyにお返事いただきありがとうございました tiles-definiton.xmlWEB-INFの下に置いてください。しかし、実際には、WEB-INFフォルダの下にタイル定義を持つ必要はありません。

関連する問題