从FreeMarker上的CSS代码中删除换行符?

时间:2014-03-07 15:27:39

标签: java html css freemarker

我是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;等)。

谢谢,问候!

1 个答案:

答案 0 :(得分:0)

试试这个:

background: url(${selectorID.backgroundImage.url?chop_linebreak}) no-repeat;

看起来selectorID.backgroundImage.url参数在结尾处有换行符。