发现数据库中取出的内容有换行,但通过<s:property value="info"/>读取出后在页面显示不出换行的效果。听同事说html不能解析“\n”符号,只能自己替换,于是在后台将“\n”替换为了“<br>”:
position.setDuty(position.getDuty().replaceAll("\n", "<br>"));
position.setRequire(position.getRequire().replaceAll("\n", "<br>"));
但是通过<s:property value="info"/>读取出后在页面显示仍然不正确,“<br>”直接显示出来了,而不是展现为换行,后台改为以下方式显示正确:
<tr>
<td valign="top" class="postTit">岗位职责:</td>
<td><%=request.getAttribute("position.duty")%></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td valign="top" class="postTit">岗位要求:</td>
<td>
<%=request.getAttribute("position.require")%>
</td>
</tr>
查询资料后,设置escape="false",也可以使用struts2的方式:<s:property value="info" escape="false"/>