freemarker 中分配变量问题的长度
Length of Assign variable issue in freemarker
我正在使用 freemarker ..想找到分配变量的长度..我使用了大小和长度函数..但它失败了并且 returns 错误..请帮助我如何找到长度赋值变量
请找到我试过的以下代码...
输入数据 --- cusID="a-1242"
-- 我想通过 - 拆分输入数据,并希望通过赋值函数存储在单独的变量中
<#list (it.@CusID[0]!"")?split("-") as c><#if ((c?index) ==0)>
<#assign first>${c}</#assign>
<#assign firstlen = c?size>
</#if>
</#list>
上面的代码firstlen
是用来求长度的,但是找不到长度
错误消息在下面找到
For "?size" left-hand operand: Expected an extended-hash or sequence
or extended collection, but this has evaluated to a markup_output
(wrapper: f.c.TemplateXMLOutputModel):
如错误消息所述,first
存储 XML 标记,而不仅仅是纯文本字符串。您无法使用 ?length
获得标记的长度,因为它的含义并不明显(比如 XML 元素的内容是否重要,如果您有实体引用等)。它是标记的原因是 <#assign first>...</#assign>
不是正常分配,它用于捕获输出,并且您使用的是 XML 输出格式。相反,使用正常的赋值:<#assign first = c>
。现在 first
将具有与 c
相同的类型,string.
我正在使用 freemarker ..想找到分配变量的长度..我使用了大小和长度函数..但它失败了并且 returns 错误..请帮助我如何找到长度赋值变量
请找到我试过的以下代码...
输入数据 --- cusID="a-1242"
-- 我想通过 - 拆分输入数据,并希望通过赋值函数存储在单独的变量中
<#list (it.@CusID[0]!"")?split("-") as c><#if ((c?index) ==0)>
<#assign first>${c}</#assign>
<#assign firstlen = c?size>
</#if>
</#list>
上面的代码firstlen
是用来求长度的,但是找不到长度
错误消息在下面找到
For "?size" left-hand operand: Expected an extended-hash or sequence or extended collection, but this has evaluated to a markup_output (wrapper: f.c.TemplateXMLOutputModel):
如错误消息所述,first
存储 XML 标记,而不仅仅是纯文本字符串。您无法使用 ?length
获得标记的长度,因为它的含义并不明显(比如 XML 元素的内容是否重要,如果您有实体引用等)。它是标记的原因是 <#assign first>...</#assign>
不是正常分配,它用于捕获输出,并且您使用的是 XML 输出格式。相反,使用正常的赋值:<#assign first = c>
。现在 first
将具有与 c
相同的类型,string.