带换行符的 JSP+HTML - 将其作为字符串获取,并删除"new lines"



我现在正在使用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字符串与其中的"新行"混在一起

<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,在将变量注入javascript之前,我需要删除"新行"。

我试着用一个空字符串替换HTML换行符hex和十进制unicode,\n\r也不起作用。我运气不好。

我怎样才能打败这些邪恶的新台词?(不需要进行IntelliJ注释,也不需要手动在一行中编写HTML?)

您可以用null替换新行:

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

记住换行符的排序。

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

或者可以这样做:

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

最新更新