我是FreeMarker的新手,我正在努力解决一些代码问题...如果我能对所发生的事情有任何暗示,那就太棒了。 基本上,我正在做的是迭代来自CMS的信息并构建CSS规则来定义元素的背景。 我正在使用的代码是:
<style type="text/css">
<#list backgroundTest as backgroundTestRule>
<#if backgroundTestRule.elementID?? && backgroundTestRule.elementID != "">
<#assign selectorID = backgroundTestRule.elementID?lower_case?replace("[^a-z0-9\\[\\]]", "", "ri")>
<#else>
<#assign selectorID = "">
</#if>
.foo${"#${selectorID}"} {
background: url(${selectorID.backgroundImage.url}) no-repeat;
}
</#list>
</style>
当我检查代码时,我得到了这个:
.foo#selectorid {
background: url(foo.jpg
) no-repeat;
}
只有在后台URL(background:url(“foo.jpg”))上不使用“”时,代码才有效,我想这是因为它在括号关闭之前添加换行符。 我尝试使用我从这里获得的一些选项:http://freemarker.org/docs/dgui_misc_whitespace.html和此处:http://freemarker.org/docs/ref_directive_t.html,但没有任何效果(&lt; #compress&gt;,&lt; #t&gt;等)。
谢谢,问候!
答案 0 :(得分:0)
试试这个:
background: url(${selectorID.backgroundImage.url?chop_linebreak}) no-repeat;
看起来selectorID.backgroundImage.url
参数在结尾处有换行符。