我仍然是Freemarker的新手,目前我正在尝试使用Split内置输出项目符号列表。
到目前为止我的代码是这样的:
<#list listingname?split(", ") as x>
• ${x} <br />
</#list>
当'listingname'字段中的值包含逗号空格(,)时,我的问题就出现了 - 这会导致输出的代码过早破坏。
例如,让我们说:
listingname =“john's company”,“bill,bob's tackle and bait”,“john do-attorney at law”
上面的代码将如此呈现:
•“约翰的公司”
•“账单
•鲍勃的铲球和诱饵“
•“约翰律师执业律师”
这里的问题是第二组双引号文本中断而不是在一行上显示“bill,bob's tackle and bait”。
所以我想我的问题是,有没有办法防止这种情况发生?
答案 0 :(得分:0)
难道您不能将该列表作为Java List
或数组传递给FreeMarker吗?我的意思是,就像你试图在这里解析某些语言的列表文字一样。这不是你通常在模板中做的事情。并且?split
只是为了分裂,对它来说当然不够聪明。
但是如果你确实必须这样做,在模板中解析,这个列表字符串遵循什么语法规则?比如,如果列表项值包含引号怎么办?它会像\"
一样被转义吗?如果语法与FTL自己的语法兼容,则可以<#list ('[' + listingname + ']')?eval as x>
。