我在显示多行文字时遇到问题。例如,用户可以在注册表单中的textarea
中键入文本,文本可以是多行,即他可以按Enter(返回)键插入换行符。
在一个页面上,如果我想显示他输入的文字并使用textarea显示(使用EL
),则会显示用户最初输入的方式。
但在另一页上,我需要以段落格式显示此文本(使用<p>
标记)。在此页面上,当我显示用户在注册时输入的值时,它没有换行符,即它显示在一行而不是用户输入的多行。
我已尝试在EL
代码中<p>
显示文字,并在<c:out>
代码中使用JSTL的<p>
代码。
我尝试过的一些代码:
试验-1:
<p>${product.description}</p> //Doesn't show line breaks
试验-2:
<p><c:out value="${product.description}" /></p> //Doesn't show line breaks too
我该如何解决这个问题?
答案 0 :(得分:5)
您是否查看过发送到浏览器的来源?请尝试
<p><pre>${product.description}</pre></p>
答案 1 :(得分:1)
现在我可以考虑在\r\n
或fn
JSTL (function) tag的帮助下用product.description
替换<br />
字符串中的scriptlets
序列
想法礼貌:SO Answer。