84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
文章:http://csjava.blog.163.com/bl...
那我用maven怎么下载这个依赖
光阴似箭催人老,日月如移越少年。
See freemarker-template-inheritance
dependencies { compile 'kr.pe.kwonnam.freemarker:freemarker-template-inheritance:0.4.RELEASE' }
@Bean public Map<String, TemplateModel> freemarkerLayoutDirectives() { Map<String, TemplateModel> freemarkerLayoutDirectives = new HashMap<String, TemplateModel>(); freemarkerLayoutDirectives.put("extends", new ExtendsDirective()); freemarkerLayoutDirectives.put("block", new BlockDirective()); freemarkerLayoutDirectives.put("put", new PutDirective()); return freemarkerLayoutDirectives; } @Bean public FreeMarkerConfigurer freemarkerConfig() { FreeMarkerConfigurer freemarkerConfig = new FreeMarkerConfigurer(); freemarkerConfig.setTemplateLoaderPath("/WEB-INF/ftls/"); freemarkerConfig.setDefaultEncoding("UTF-8"); Map<String, Object> freemarkerVariables = new HashMap<String, Object>(); freemarkerVariables.put("layout", freemarkerLayoutDirectives()); freemarkerConfig.setFreemarkerVariables(freemarkerVariables); return freemarkerConfig; } @Bean public ViewResolver viewResolver() { FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver(); viewResolver.setCache(false); viewResolver.setPrefix(""); viewResolver.setSuffix(".ftl"); viewResolver.setContentType("text/html; charset=utf-8"); return viewResolver; }
<!DOCTYPE html> <html> <head> <title>Base Layout</title> <@layout.block name="head"> <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script> </@layout.block> </head> <body> <@layout.block name="header"> <h1>Base Layout</h1> </@layout.block> <p class="base"> <@layout.block name="contents"> <h2>Contents will be here</h2> </@layout.block> </p> <@layout.block name="footer"> <p>Footer base</p> </@layout.block> </body> </html>
<@layout.extends name="layouts/base.ftl"> <@layout.put block="head"> <script src="//ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script> </@layout.put> <@layout.put block="header" type="prepend"> <h2>Index Page</h2> </@layout.put> <@layout.put block="contents"> <p>blah.. blah..</p> </@layout.put> <@layout.put block="footer" type="replace"> <hr/> <p class="footer">Footer replaced by index</p> </@layout.put> </@layout.extends>
See freemarker-template-inheritance
Gradle dependencies
Spring Configuration
Use
base.ftl: layout
view.ftl : contents