Guest User

Untitled

a guest
Jan 23rd, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. ...
  2. @Override
  3. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  4. String version = "" + System.currentTimeMillis();
  5. boolean cacheResources = !ConfigValue.SYSTEM_ENVIRONMENT.getValue().equals("DEV");
  6. Map<String, VersionStrategy> resolverStrategies = new HashMap<>();
  7. resolverStrategies.put("/**/*.css", new ContentVersionStrategy());
  8. resolverStrategies.put("/**/*.js", new FixedVersionStrategy(version));
  9. VersionResourceResolver versionResourceResolver = new VersionResourceResolver();
  10. versionResourceResolver.setStrategyMap(resolverStrategies);
  11.  
  12. registry.addResourceHandler("/resources/**").addResourceLocations("/resources/")
  13. .cachePeriod(3600)
  14. .resourceChain(cacheResources)
  15. .addResolver(versionResourceResolver);
  16. registry.addResourceHandler("/images/**").addResourceLocations("/images/");
  17. registry.addResourceHandler("/static/**").addResourceLocations("/static/")
  18. .cachePeriod(3600)
  19. .resourceChain(cacheResources)
  20. .addResolver(versionResourceResolver);
  21. }
  22.  
  23. @Bean
  24. public FreeMarkerConfig freemarkerConfig() {
  25. FreeMarkerConfigurer config = new FreeMarkerConfigurer();
  26. config.setTemplateLoaderPaths("/WEB-INF/views/", "/static/");
  27.  
  28. return config;
  29. }
  30.  
  31. @Bean
  32. public ViewResolver viewResolver(ContentNegotiationManager cnManager, ApplicationContext ctx) {
  33. List<ViewResolver> resolvers = new ArrayList<>();
  34.  
  35. FreeMarkerViewResolver fmResolver = new FreeMarkerViewResolver();
  36. fmResolver.setSuffix(".html");
  37. fmResolver.setApplicationContext(ctx);
  38. resolvers.add(fmResolver);
  39.  
  40. BeanNameViewResolver beanResolver = new BeanNameViewResolver();
  41. beanResolver.setApplicationContext(ctx);
  42. resolvers.add(beanResolver);
  43.  
  44. ContentNegotiatingViewResolver top = new ContentNegotiatingViewResolver();
  45. top.setViewResolvers(resolvers);
  46. top.setContentNegotiationManager(cnManager);
  47. top.setApplicationContext(ctx);
  48.  
  49. return top;
  50. }
  51. ...
  52.  
  53. ...
  54. <filter>
  55. <filter-name>springSecurityFilterChain</filter-name>
  56. <filter-class>org.springframework.web.filter.DelagatingFilterProxy</filter-class>
  57. </filter>
  58. <filter-mapping>
  59. <filter-name>springSecurityFilterChain</filter-name>
  60. <url-pattern>/*</url-pattern>
  61. </filter-mapping>
  62.  
  63. <filter>
  64. <filter-name>resourceUrlEncodingFilter</filter-name>
  65. <filter-class>org.springframework.web.servlet.resource.ResourceUrlEncodingFilter
  66. </filter>
  67. <filter-mapping>
  68. <filter-name>resourceUrlEncodingFilter</filter-name>
  69. <url-pattern>/resources/*</url-pattern>
  70. <url-pattern>/static/*</url-pattern>
  71. </filter-mapping>
  72. ...
  73.  
  74. ...
  75. <#import "spring.ftl" as spring />
  76. <script src="<@spring.url '../resources/services.js'/>"></script>
  77. <script src="<@spring.url '../resources/metrics.js'/>"></script>
  78. <script src="<@spring.url '../resources/common.js'/>"></script>
  79. <script src="<@spring.url '../static/apps/controllers/main.js'/>"></script>
  80. <script src="<@spring.url '../static/apps/controllers/dashboard.js'/>"></script>
  81. <link href="<@spring.url '../static/apps/apps.css'/>">
  82. ...
Add Comment
Please, Sign In to add comment