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

Java 从FreeMarker上的CSS代码中删除换行符?,java,html,css,freemarker,Java,Html,Css,Freemarker,我是FreeMarker的新手,我正在努力处理一些代码渲染。。。如果我能对正在发生的事情有任何暗示,那就太好了。 基本上,我所做的是迭代来自CMS的信息,并构建CSS规则来定义元素的背景。 我使用的代码是: <style type="text/css"> <#list backgroundTest as backgroundTestRule> <#if backgroundTestRule.elementID?? && bac

我是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>
只有在后台URL(background:URL(“foo.jpg”))上不使用“”时,代码才能工作,我想这是因为它在括号闭合之前添加了换行符。 我试着使用我从这里得到的一些选项:这里:,但没有任何效果(,等等)

谢谢,你好

试试这个:

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

看起来,
selectorID.backgroundImage.url
参数的末尾有一个换行符。

什么类型的项目是.foo?非常感谢,这很有效!那么,这个换行符来自CMS输入?我将阅读有关chop_linebreak的内容。是的,CMS正在发送该换行符。如果数据源周围有多余的空格,您最好使用
whatever?trim
background: url(${selectorID.backgroundImage.url?chop_linebreak}) no-repeat;