Freemarker - 如何防止Split内置过早破坏

时间:2014-01-03 17:56:17

标签: string freemarker built-in

我仍然是Freemarker的新手,目前我正在尝试使用Split内置输出项目符号列表。

到目前为止我的代码是这样的:

<#list listingname?split(", ") as x>
&bull; ${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”。

所以我想我的问题是,有没有办法防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

难道您不能将该列表作为Java List或数组传递给FreeMarker吗?我的意思是,就像你试图在这里解析某些语言的列表文字一样。这不是你通常在模板中做的事情。并且?split只是为了分裂,对它来说当然不够聪明。

但是如果你确实必须这样做,在模板中解析,这个列表字符串遵循什么语法规则?比如,如果列表项值包含引号怎么办?它会像\"一样被转义吗?如果语法与FTL自己的语法兼容,则可以<#list ('[' + listingname + ']')?eval as x>