gpt4 book ai didi

grails - 如何在gsp grails文件上显示String新行?

转载 作者:行者123 更新时间:2023-12-02 14:56:46 26 4
gpt4 key购买 nike

我已经在数据库中存储了一个字符串。当我保存并检索字符串时,得到的结果如下:

This is my new object

Testing multiple lines

-- Test 1

-- Test 2

-- Test 3



这就是我调用save和index方法时从println命令获得的结果。

但是当我在屏幕上显示它时。它显示为:

This is my object Testing multiple lines -- Test 1 -- Test 2 -- Test 3



已经尝试将其显示为以下内容:
${adviceInstance.advice?.encodeAsHTML()}

但是还是一样。

是否需要将\ n替换为类似内容?有没有更简单的方法来正确显示它?

最佳答案

常见问题有多种解决方案

1>可能是您将<br>替换为\ n

因此,无论是在 Controller /服务中还是在gsp中,您都可以:

${adviceInstance.advice?.replace('\n','<br>')}

2>在只读文本区域中显示内容
 <g:textArea name="something" readonly="true">
${adviceInstance.advice}
</g:textArea>

3>使用 <pre>标签
<pre>
${adviceInstance.advice}
</pre>

4>使用CSS空格 http://www.w3schools.com/cssref/pr_text_white-space.asp:
<div class="space">
</div>

//css code:

.space {
white-space:pre
}

如果您对这些字段的存储进行了严格的配置,请注意,当您通过表单提交它时,我没有深入研究它的实际内容,实际上可能是回车或\ r,无论如何在下面的注释中说明。关于设置 setter 的良好规则,该 setter 在每次接收到元素时都会对其进行修剪。即:
Class Advice {
String advice
static constraints = {
advice(nullable:false, minSize:1, maxSize:255)
}

/*
* In this scenario with a a maxSize value, ensure you
* set your own setter to trim any hidden \r
* that may be posted back as part of the form request
* by end user. Trust me I got to know the hard way.
*/
void setAdvice(String adv) {
advice=adv.trim()
}

}

关于grails - 如何在gsp grails文件上显示String新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33320165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com