84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
文章: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 配置
使用
base.ftl: layout
view.ftl : contents