【问题标题】:How to use replaceAll in gsp?如何在 gsp 中使用 replaceAll?
【发布时间】:2018-01-10 09:39:25
【问题描述】:

我的 文件中有这段代码:

<span class="highlighted-data-value">${address}</span>

address 变量的值类似于:

地址第 1 行,城市,国家

我想在昏迷时换行,但我好像做不到。

有没有办法在那个 gsp 文件中做replaceAll?类似${address.replaceAll(",","\\n")}

理想情况下,我不想使用控制器,而是直接在 gsp 文件中进行。

【问题讨论】:

    标签: gsp groovy gsp


    【解决方案1】:

    ${address.replaceAll(",","\\n")} 没有产生预期的结果,因为它将字符串分成 3 行,但是当没有 &lt;br /&gt; 标记时,HTML 将其呈现为单行。相反,您可以尝试将您的字符串破坏为:

    ${raw(address.replaceAll(',', '<br />'))}
    

    这将产生一个应该将地址分成 3 行的结果:

    <span class="highlighted-data-value">Address line 1<br /> City<br /> Country</span>
    

    或者,您可以在控制器中拆分此字符串,将列表传递给视图,然后使用&lt;g:each in=""&gt;&lt;/g:each&gt; 循环。

    【讨论】:

    • 尝试了 ${} 中的 .replaceAll,在控制台中收到此错误。方法没有签名:xxxxx.Address.replaceAll() 适用于参数类型:(java.lang.String, java.lang.String) 值:[,, \n]。 Stacktrace 如下:[GrailsExceptionResolver].. 个人迷失了这个错误信息,也许你有线索?我会尝试看看我是否可以在控制器中拆分它
    • 啊,我明白了......我必须在那个地址上做toString()。不知道为什么我没有尝试完全理解错误:D 谢谢!

    • 替换它只是将其作为字符串添加到跨度中。我会看看我是否找到换行的方法
    • @OFFLlNE 是的,我的假设是 ${address} 是基于您在问题中粘贴的输入的 String 类型。
    • 完美! :) 也更新了答案
    猜你喜欢
    • 2011-08-04
    • 2016-02-26
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多