3

Spring-Tiles統合を使用したい。ここで私のアプリがどのように見えるかを見ることができます。

だから私の質問は:なぜSpring-MVCディスパッチャーサーブレットが私のターゲットページを解決できないのですか?

4

3 に答える 3

4

問題は、サーブレット マッピングで使用しているため、タイルへのリクエストを含め、<url-pattern>/*</url-pattern>すべてのリクエストが によって処理されることです。これを解決する最も用途の広い方法 (ただし、接頭辞なしで安静な URL を維持するため) は、 UrlRewriteFilter を使用することですDispatcherServlet*.jsp

于 2010-06-04T20:25:37.990 に答える
2

重要な ViewResolver が不足していると思います。SpringSource で言及された投稿を確認しましたが、次の ViewResolver が表示されませんでした。

org.springframework.web.servlet.view.tiles2.TilesViewResolver

その ViewResolver を追加してみて、それが役立つかどうかを確認してください。Spring と Tiles も使用します。それと TilesConfigurer を宣言するだけです。

これらの参照を確認してください。

于 2010-12-25T19:07:43.007 に答える
1

これは、Spring を使用する場合によくある問題であり、ビュー (jsp) が DispatcherServlet を通過することが原因です。

を使用して web.xml を変更してみてください

 <servlet>  
    <servlet-name>dispatcher</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
</servlet>  
<servlet-mapping>  
     <servlet-name>dispatcher</servlet-name>  
     <url-pattern>/app/*</url-pattern>  
</servlet-mapping>

次に、urlrewrite.xml に次のように追加します。

<urlrewrite default-match-type="wildcard">
<rule>
    <from>/</from>
    <to>/app/</to>
</rule>
<rule>
    <from>/**</from>
    <to>/app/$1</to>
</rule>
<outbound-rule>
    <from>/app/**</from>
    <to>/$1</to>
</outbound-rule>

jarをインポートせず、web.xmlに次のようなフィルターマッピングを追加しない場合は、urlrewriteを使用していると思います。

<filter>
    <filter-name>urlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>urlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> 
于 2010-12-11T03:04:04.690 に答える