在jstl中,如果返回的字符串中含有换行符(\n),浏览器会将它渲染为空格(" "),但jsp中显然无法使用空格将其替换或分割,
使用:
${fn:split(entityBody.value.remark,'\n') }
eclipse报错,
而使用:
${fn:split(entityBody.value.remark,'\\n') }
控制台报jsp错。猜测jstl不能直接书写java当中的转义字符。
google之后发现,先绑定变量到request中,然后从其中取值,可以解决问题
<% request.setAttribute("vEnter", "\n"); %>
//then
${fn:split(entityBody.value.remark,vEnter) }
但是如下代码却没用:
<c:set var="vEnter" value="\\n" scope="request"/> //or <c:set var="vEnter" value="\n" scope="request"/>
猜测这与jstl实现有关,不清楚jstl具体怎么处理