文章:http://csjava.blog.163.com/bl...
那我用maven怎么下载这个依赖
光阴似箭催人老,日月如移越少年。
Voir 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>
Voir freemarker-template-inheritance
Dépendances Gradle
Printemps 配置
使用
base.ftl : mise en page
view.ftl : contenu