2016-03-17 4 views
0

Привет, я новичок в Spring Framework. В моем приложении мне нужно интегрировать Spring с Tiles. Как я могу добавить viewResolver для Плитки, а также internalViewResolver для моей страницы входа в систему или как я могу сделать ее как единую. Я использую конфигурацию на основе аннотаций. Моя страница Войти РасположениеКонфигурация на основе аннотаций 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, поскольку суффикс, имя представления и префикс будут указаны в файлах XML Tiles Definition.

@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 Плитки Def для каждого просмотров, как это:

Для Путь 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> 

У меня есть пример на Github для Spring Tiles, но он использует XML-конфигурацию, вы можете использовать bove @Bean Configuration, чтобы использовать JavaConfig.

+0

еще одно сомнение, в конфигурации безопасности весны я могу дать .formLogin(). LoginPage ("/ register"). UsernameParameter ("ssoId").? –

+0

его работа..thanks –

+0

Есть несколько примеров в Spring Security с java config, посмотрите на них. Вы всегда можете задать другой вопрос, если у вас возникнут проблемы. В реестре github, который я использовал выше, была настроена функция Spring, настроенная в xml, я уверен, что java config не составит труда. –

Смежные вопросы