2016-03-17 161 views
0

嗨,我是Spring框架的新手,在我的應用程序中,我需要將Spring與Tiles集成。我如何爲Tiles添加viewResolver以及爲我的登錄頁面添加internalViewResolver,或者如何將它作爲one.I使用基於註釋的配置。我的登錄頁面的位置是基於Spring-Tiles標註的配置

enter image description here

我的配置類是

public class AppConfig extends WebMvcConfigurerAdapter { 

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

    return viewResolver; 
} 

@Bean 
public MessageSource messageSource() { 
    ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
    messageSource.setBasename("messages"); 
    return messageSource; 
} 
    ........// 

}

,我應該把我的JSP瓷磚。我希望我的問題很清楚,請發表評論以獲取更多信息。謝謝!

回答

1

您應該使用UrlBasedViewResolver視圖解析器而不是InternalResourceViewResolver,因爲後綴,視圖名稱和前綴將在Tiles Definition XML文件中指定。

@Bean 
public UrlBasedViewResolver viewResolver() { 
    UrlBasedViewResolver viewResolver = new UrlBasedViewResolver(); 
    viewResolver.setViewClass(TilesView.class); 
    return viewResolver; 
} 


@Bean 
public TilesConfigurer tilesConfigurer() { 
    TilesConfigurer tilesConfigurer = new TilesConfigurer(); 
    tilesConfigurer.setDefinitions(new String[]{ 
      "/WEB-INF/defs/general.xml", 
      "/WEB-INF/defs/tiles.xml" //another definition 
    }); 
    tilesConfigurer.setCheckRefresh(true); 
    return tilesConfigurer; 
} 

,並添加您的瓷磚防守XML文件,這樣每一個觀點:

對於URL路徑http://localhost:8080/register

@RequestMapping("/register") 

定義:

<definition name="page" template="/WEB-INF/layout/page.jsp"> 
    <put-list-attribute name="stylesheets"> 
     <add-attribute value="/resources/css/AdminLTE.min.css" /> 
    </put-list-attribute> 
    <put-list-attribute name="javascripts"> 
     <add-attribute value="/resources/js/main.js" /> 
    </put-list-attribute> 
</definition> 

<definition name="register" extends="page"> 
    <put-attribute name="title" value="User Registeration" /> 
    <put-attribute name="body" value="/WEB-INF/jsp/register.jsp" /> 
    <put-attribute name="current" value="register" /> 
</definition> 

我有一個例子對於Spring Tile的Github但它使用的是XML配置,您可以使用bove @Bean配置使其使用JavaConfig。

+0

還有一個疑問,在spring安全配置中,我可以給.formLogin()。loginPage(「/ register」)。usernameParameter(「ssoId」)。? –

+0

其工作..感謝 –

+0

有幾個關於Java安全與Java配置的例子,看看他們。如果你遇到問題,你總是可以問另一個問題。我上面共享的github倉庫在xml中配置了spring安全性,我確信java配置並不困難。 –

相關問題