FreeMarker里如何调用java代码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeMarker里如何调用java代码?相关的知识,希望对你有一定的参考价值。
不能使用java代码,只能使用el表达式,来输出展示数据..freemarker 的原则或初衷:
数据+模板=输出
模板就是 freemarker了,这样程序员就不能把大量java代码写入, 美工和程序员 工作就可以独立了 参考技术A
方法1:
##定义配置文件 freeerstatic.properties
_Validator=com.longyou.util.Validator
_Functions=com.longyou.util.Functions
_EscapeUtils=com.longyou.util.EscapeUtils
/调用代码
$_Functions.toUpperCase("Hello")<br>
$_EscapeUtils.escape("狼的原野")
方法2:$stack.findValue("@package.ClassName@method")$stack.findValue("@package.ClassName@property")因为 stack 是webwork结合 freeer 后在 ftl 中可以用的,其他的还有 $base等等
参考技术B 不能使用java代码,只能使用el表达式,来输出展示数据..freemarker 的原则或初衷:
数据+模板=输出
模板就是 freemarker了,这样程序员就不能把大量java代码写入, 美工和程序员 工作就可以独立了
java与freemarker遍历map
一、java遍历MAP
/** * 1.把key放到一个集合里,遍历key值同时根据key得到值 (推荐) */ Set set =map.keySet(); Iterator it=set.iterator(); while(it.hasNext()){ String s= (String) it.next(); System.out.println(map.get(s)); } /** * 2.把一个map对象放到放到entry里,然后根据entry同时得到key和值 */ Set set =map.entrySet(); Iterator it=set.iterator(); while(it.hasNext()){ Map.Entry<String, String> entry=(Entry<String, String>) it.next(); System.out.println(entry.getKey()+":"+entry.getValue()); }
二、freemaker遍历MAP
<#if datas?exists> <#list datas?keys as key> <tr> <td>${key}</td> <td>${datas.get(key)}</td> </tr> </#list> </#if>
以上是关于FreeMarker里如何调用java代码?的主要内容,如果未能解决你的问题,请参考以下文章
Java 使用 freemarker 模板引擎的相关疑问 ,求大神走过路过不要错过