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.