我目前正在使用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编写成一行?)
答案 0 :(得分:0)
你可以用null替换新行:
advertisementHtml.replace( /\n/g, "" )
答案 1 :(得分:0)
记住换行符的排序。
String newString = overlayHtml.replaceAll("\\r\\n", "");
或者可以做:
String newString = overlayHtml.replaceAll("\\r", "");
newString = newString.replaceAll("\\n", "");