2016-12-29 8 views
0

私は春に内部ビューリゾルバをタイルとともに構成しようとしていました。しかし、私のいろいろな試みや答えには、まだそれは機能していません。内部ビューのリゾルバ設定を削除しても、タイルが正常に動作しています。しかし、タイルと内部ビューリゾルバを一緒に構成し、それに応じてタイルファイルを構成すると、すべてが機能しません。これに対する解決策はありますか?順序を設定しようとしましたが、まったく動作しませんでした。 以下はjavaの設定ファイルです。spring mvcタイルとビューリゾルバをJavaで構成する

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.springmvc") 
public class AppConfig extends WebMvcConfigurerAdapter{ 

    @Bean 
    public InternalResourceViewResolver viewResolver() { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setViewClass(JstlView.class); 
     viewResolver.setPrefix("/WEB-INF/views/"); 
     viewResolver.setSuffix(".jsp"); 
     viewResolver.setOrder(1); 
     return viewResolver; 
    } 

    @Bean 
    public TilesConfigurer tilesConfigurer(){ 
     TilesConfigurer tilesConfigurer = new TilesConfigurer(); 
     tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/views/**/tiles.xml"}); 
     tilesConfigurer.setCheckRefresh(true); 
     return tilesConfigurer; 
    } 

    @Override 
    public void configureViewResolvers(ViewResolverRegistry registry) { 
     TilesViewResolver viewResolver = new TilesViewResolver(); 
     viewResolver.setViewClass(TilesView.class); 
     registry.viewResolver(viewResolver); 
    } 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/static/**").addResourceLocations("/static/"); 
    } 

} 

Tiles.xmlファイル

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 

<tiles-definitions> 

    <!-- Base Definition --> 
    <definition name="base-definition" 
     template="/WEB-INF/views/tiles/layouts/defaultLayout.jsp"> 
     <put-attribute name="title" value="" /> 
     <put-attribute name="header" value="/WEB-INF/views/tiles/template/defaultHeader.jsp" /> 
     <put-attribute name="menu" value="/WEB-INF/views/tiles/template/defaultMenu.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/views/tiles/template/defaultFooter.jsp" /> 
    </definition> 

    <!-- Home Page --> 
    <definition name="home" extends="base-definition"> 
     <put-attribute name="title" value="Welcome" /> 
     <put-attribute name="body" value="/WEB-INF/views/pages/home.jsp" /> 
    </definition> 

    <!-- Product Page --> 
    <definition name="products" extends="base-definition"> 
     <put-attribute name="title" value="Products" /> 
     <put-attribute name="body" value="/WEB-INF/views/pages/products.jsp" /> 
    </definition> 

    <!-- Contact-us Page --> 
    <definition name="contactus" extends="base-definition"> 
     <put-attribute name="title" value="Contact Us" /> 
     <put-attribute name="body" value="/WEB-INF/views/pages/contactus.jsp" /> 
    </definition> 

</tiles-definitions> 

答えて

0

あなたのApp ConfigでタイルビューリゾルバBeanの順序を設定

それは仕事、それはの順序を設定する必要がありますのでご注意ください
viewResolver.setOrder(0); 

内部ビューリゾルバーは最高(「最低優先度」)。

+0

まだ動作していません – Worker

+0

私はxml設定ファイルを使用しています。完全に動作しています!! 1 –

関連する問題