类中根据条件
if(str.equals("1")){
map.put("forexlist",forexlist);
}else if(str.equals("2")){
map.put("goldlist",goldlist);
}else if(str.equals("4")){
map.put("oillist",oillist);
}
设置key 后在模版中
<#if forexlist?? >
       
       <#else>
       <br> <img src='cid:forex'><br><br>
       <#list forexlist as user>
          <a href="http://www.yahoo.com.cn">${user.title}</a><br>   
          ${user.dateTime}<br><br>
       </#list>  
   </#if>
       
   <#if goldlist?? >
       
       <#else>      
       <br> <img src='cid:gold'><br><br>
       <#list goldlist as user>
          <a href="http://www.yahoo.com.cn">${user.title}</a><br>   
          ${user.dateTime}<br><br>
       </#list> 
       </#if>
       
       <#if oillist?? >
       
       <#else>
       <br> <img src='cid:oil'><br><br>
       <#list oillist as user>
          <a href="http://www.yahoo.com.cn">${user.title}</a><br>   
          ${user.dateTime}<br><br>
       </#list>  
   </#if>
             freeer.core.InvalidReferenceException: Expression oillist is undefined on line 36, column 23 in news.ftl.
at freeer.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freeer.core.IteratorBlock.accept(IteratorBlock.java:100)
at freeer.core.Environment.visit(Environment.java:208)
at freeer.core.MixedContent.accept(MixedContent.java:92)
at freeer.core.Environment.visit(Environment.java:208) 
 
 
请问高手判断条件该如何写?

解决方案 »

  1.   

    <#if oillist?exists > try it
      

  2.   

    还是这个报错,<#if oillist?exists > 
                      为空
                   <#else>
                      不为空
                   </#if>
     请问这种写法对不               
      

  3.   

    语法是对的我看了下资料,上面说:??运算符,返回一个布尔值,用法为 :variable?? ,如果该变量存在 ,则返回true,否则为 falsefreeMarker 的变量必须有值  没有被赋值就会抛出异常  
      

  4.   

    <#if oillist?? >
            <br> <img src='cid:oil'><br><br>
           <#list oillist as user>
              <a href="http://www.yahoo.com.cn">${user.title}</a><br>   
              ${user.dateTime}<br><br>
           </#list>  
           <#else>这样写,刚才写反了,可是我好象还是0分,不能送分给你了,谢谢你啊!