带有换行符的JSP + HTML - 将其作为字符串,并删除“新行”

时间:2014-10-23 11:13:42

标签: javascript html jsp intellij-idea

我目前正在使用IntelliJ IDEA进行一些HTML覆盖,我希望由客户端处理(因为清漆缓存)。

所以我想做的是以下,以及它的工作(差不多):

将模板代码(html,jsp,el)转换为变量,非常简单:

<c:set var="overlayHtml"><c:import url="/directory/myOverlay.jsp" /></c:set>

然后我将它插入到这样的javascript中,然后追加它:

var advertisementHtml = '${overlayHtml}';
$("body").append(advertisementHtml);

我的问题是我的jsp中的HTML字符串是&#34;新行&#34;在里面。像这样:

<div id="overlay">
    <div>HERE IS MY OVERLAY</div>
    <div>Another div</div>
</div>

而这,javascript无法处理,因此不会触发。我希望能够删除这些新行,以便HTML出现在一行中,如下所示:

<div id="overlay"><div>HERE IS MY OVERLAY</div><div>Another div</div></div>

问题在于JSP,我需要删除&#34;新行&#34;在我将变量注入javascript之前。

我试过替换HTML新行hex和十进制unicode,我试过用空字符串替换\ n \ r,这也没用。我运气不好。

我怎样才能击败这些邪恶的新线? (无需进行IntelliJ注释,或手动将我的HTML编写成一行?)

2 个答案:

答案 0 :(得分:0)

你可以用null替换新行:

advertisementHtml.replace( /\n/g, "" )

答案 1 :(得分:0)

记住换行符的排序。

String newString = overlayHtml.replaceAll("\\r\\n", "");

或者可以做:

String newString = overlayHtml.replaceAll("\\r", "");
newString = newString.replaceAll("\\n", "");