2014-09-24 47 views
1

我想通过分配变量值FreeMarker的功能,但得到了以下错误:如何通过分配在FreeMarker的函数变量值

getSeourlDto(productid) is undefined.

<#function getSeourlDto id> 
    <#list seourlsDto as seourl> 
    <#if id==seourl.objId> 
     <#return (seourl)> 
    </#if> 
    </#list> 


<#assign productid=product.id> 

<#assign alias=getSeourlDto(productid)> 

它得到了错误,但用硬编码值工作

<#assign alias=getSeourlDto(198)> 

回答

1

这意味着seourlsDto列表中不包含值productid,因此#if条件从未如此,因此#function结束时没有#return。因此,代表函数返回值的getSeourlDto(productid)表达式的值未定义。

+0

map value <#assign productid =“$ {product.id}”> $ {seoUrlMap [productid]} – ASHISH 2014-09-25 06:36:59

+0

@kano:这意味着'$ {seoUrlMap [product.id?string]}'。但是,如果您需要这样做,那么您应该执行'$ {seoUrlMap [product.id?c]}',因为您的密钥肯定不是国际化的数字格式。 – ddekany 2014-11-01 10:00:28

相关问题