先判断下是否存在<#if dataMap??>

解决方案 »

  1.   


    确定是不存在的,我就是想获得Freeer的朱命名空间的哈希表来进行遍历。
    但是现在获取不到这个表。
    使用.main.keyset()也获取不到。
      

  2.   

    先${dataMap}看看,你put进入的什么就写什么
      

  3.   


    freeer.core.InvalidReferenceException: Expression dataMap is undefined我是取了数据库一行的字段按照字段名 
    dataMap.put(key,value);放进去的。
    现在单独的在页面里用${某个key}都是正常的。
    但是我现在因为读的表多不想每个字段都手动写,所以想遍历整个MAP。
      

  4.   

    dataMap.put(key,value);
    <#list dataMap.keySet() as k>//这个应该是你put里的key。
      

  5.   


    现在的情况是我不想把所有key写一遍啊。就是要用keyset取出map的key但是现在取不到freeer朱命名空间的哈希表啊。
      

  6.   

    你都获取不了这个map,你遍历个啥? 怎么还是没有明白。
      

  7.   


    我觉得我第一栏就说的很清楚了这个MAP是不存在的,我要找的是freeer对主命名空间的map是怎么命名的。
    怎么才能循环遍历最外层的map
    多谢你关注,帮我顶贴。
    如果问题解决了我会记得分你辛苦分的。
    这个问题看来你回答不了,不用浪费时间了。
      

  8.   

    看你根本不懂freemaker是怎么回事。
      

  9.   

    内容还不能修改,我再重新组织下我的问题。
    我在JAVA中建了个MAP
    Map dataMap = new HashMap();
    dataMap.("key1","value1");
    dataMap.("key2","value2");
    dataMap.("key3","value3");
    dataMap.("key4","value4");
    然后用
     template.process(dataMap, out);输出到页面
    <#list dataMap.keySet() as k>
    <span>${k}:</span><span>dataMap[k]</span>
    </#list>
    然后报错找不到dataMap。
    现在我的问题就是怎么在页面取出key1到key4还有value1到value4的值出来。
    我已经尝试了用"rootMap",".main"".vars"来替换"dataMap"。全部不能用。
    如何遍历并取出FTL里面最外层的MAP里面的key和value?这就是我的问题。
      

  10.   

    问题解决了,结贴
    是.dataModeldata_model: A hash that you can use to access the data-model directly. That is, variables you did with global directive are not visible here.freeer文档里有这段
     
    <#list .data_model?keys as prop>
        ${prop} - ${.data_model[prop]}
    </#list>