Struts 2 - 使用<s:property> </s:property>在<br/>元素中转换新行(\ r \ n)

时间:2011-02-11 15:43:51

标签: java struts2 newline

有没有办法使用<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

由于

4 个答案:

答案 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/>";