有没有办法使用<br />
代码转换<s:property>
HTML元素中的新行?
例如,我在sampleValue
属性中包含以下字符串值:
Hello world\r\nThis is a new line
以<s:property value="%{sampleValue}" />
呈现,如:
Hello world<br />This is a new line
由于
答案 0 :(得分:3)
很抱歉疏通了这个,但是现在我想出来了,我想要一个地方发布解决方案,以防我再次需要它。 ;?)
<s:property escapeHtml="false" value="sampleValue.replace(\"\n\", \" <br />\")" />
答案 1 :(得分:1)
struts2中没有设施。如果由于某种原因你已经预先格式化了文本,那么我想最简单的是:
<pre>
<s:property value="sampleValue"/>
</pre>
当然可以在显示中使用正则表达式将“\ r \ n”替换为&lt; br /&gt;但是有一些非常丑陋的东西(我也发现上面的解决方案&lt; pre&gt;也非常丑陋但是大多数人会发现比jsp中间的正则表达式更容易理解)。
注意:而不是&lt; pre&gt;您可以使用值为“pre”的css属性“white-space”,请参阅:http://www.w3schools.com/css/pr_text_white-space.asp以获取有关css空格属性的更多信息。
答案 2 :(得分:0)
是的,struts显然默认逃脱了所有的元符号...... 只需执行以下操作:
<s:fielderror escape="false" />
<s:actionmessage escape="false" />
并且换行应该有效。
答案 3 :(得分:0)
试试这个:
java文件中的代码行:
query.include("idUser");
.jsp文件中的代码行:
datos += rs.getString(7) + "<br/>";