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代码?的主要内容,如果未能解决你的问题,请参考以下文章

FreeMarker里如何调用java代码?

Freemarker的使用方法

如何在freemarker中调用java的方法

Java 使用 freemarker 模板引擎的相关疑问 ,求大神走过路过不要错过

如何从 FreeMarker 模板调用对象的 java 方法?

如何在freemarker模板中调用反射方法?