我有一个传递到JSP页面的bean对象列表,其中一个是注释字段。该字段可能包含换行符,我希望使用JSTL将它们替换为分号,以便该字段可以在文本输入中显示。我找到了一个解决方案,但它不是很优雅。作为一种可能性,我将在下面发布。
发布于 2008-09-12 00:59:31
这是我找到的一个解决方案。不过,它看起来并不是很优雅:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<% pageContext.setAttribute("newLineChar", "\n"); %>
${fn:replace(item.comments, newLineChar, "; ")}
发布于 2009-11-07 06:31:08
只需使用fn:replace()
函数将\n
替换为;
即可。
${fn:replace(data, '\n', ';')}
如果你使用的是Apache的EL实现而不是Oracle的EL参考实现(例如,当你使用Tomcat、TomEE、JBoss等而不是GlassFish、Payara、WildFly、WebSphere等),那么你需要重新转义反斜杠。
${fn:replace(data, '\\n', ';')}
发布于 2011-08-20 00:15:19
这与公认的答案类似(因为它使用Java而不是EL表示换行符),但这里使用元素来设置属性:
<c:set var="newline" value="<%= \"\n\" %>" />
${fn:replace(myAddress, newline, "<br />")}
以下代码片段也有效,但元素的第二行不能缩进(可能看起来更难看):
<c:set var="newline" value="
" /><!--this line can't be indented -->
${fn:replace(myAddress, newline, "<br />")}
https://stackoverflow.com/questions/58054
复制相似问题