2010-01-13

velocity 未列入文档的秘密

Velocity小技巧

今天,在Velocity模板对i18n字符串进行处理,需要转换小写和将空格替换为下划线。一般情况下,从java代码中通过Context传递是最简单的,但是有的情况,不现实。在CC的模板中,就有这样的情况 下面是一个在模板中实现字符串转换的具体例子:
#set( $tab_title = "#springMessage('Build.Log')" )
<div id="$tab_title.toLowerCase().replace(' ', '_')" class="widget"
$log_extra_attrs>
<h2>$tab_title</h2>
<span class="logfile"><a
href="$req.getContextPath()/tab/build/download/log/$projectName/$logfile">#springMessage('Download.log')
</a></span>
</div>

Velocity

Velocity是基于Java的模板引擎。它允许Web页面开发者引用Java代码中定义的方法。Web设计者可以和Java程序开发者并行开发遵循MVC模式的Web站点。这意味着,Web设计者可以将精力放在好的Web站点设计上,而Java程序开发者可以将精力放在编写代码上。Velocity将Java代码从Web页面中分离,使Web站点更具长期可维护性,并提供了一种替代JSP或PHP的方案 如果有感兴趣的可以看看 Velocity英文文档 .
blog comments powered by Disqus