2012-10-25 17 views
0

我想使用下面的代碼列出所有信用條件,但是,它會產生此錯誤:異常:freemarker.core.InvalidReferenceException 消息:表達式supplier.vouchers未定義在行345,第16列。使用異常<#list>未定義的變量不會生成pdf

<#list supplier.vouchers as voucher> 
      <fo:table-cell padding-left="3px" column-width="200px" text-align="center" border="1px solid black"> 
      <fo:block>${voucher.creditTerm}</fo:block> 
      </fo:table-cell> 
      </#list> 

我在做什麼錯?非常感謝你的答案。

回答

0

您引用的變量未定義。你必須檢查它是否定義或沒有:

<#if supplier?? && supplier.vouchers?? > 
    <#list supplier.vouchers as voucher> 
     <fo:table-cell padding-left="3px" column-width="200px" text-align="center" border="1px solid black"> 
      <fo:block>${voucher.creditTerm}</fo:block> 
     </fo:table-cell> 
    </#list> 
</#if> 
+0

感謝您的回答。如果沒有定義呢?我能做些什麼來訪問數據? – cmsl

+0

您必須將您想要通過'supplier'訪問的Java對象放到Java端的freemarker上下文中,名稱爲「supplier」。 – ppeterka

+0

我想我已經使用這個代碼:<#list listIt as supplier>是這個錯誤嗎?新手在這裏。 – cmsl