Spring 当脚本标记具有src属性时,JSPX页面会中断
出于某种奇怪的原因,每当我在这个JSPX块的末尾向脚本标记添加src元素时,页面的前半部分都拒绝加载。在行前剪切HTML,并完全冲洗页面。我在这里尝试了几个不同的选项,包括一个CDATA块,将脚本内联,并将其从页面中完全删除。无论出于何种原因,在该脚本块中呈现任何内容都会破坏页面Spring 当脚本标记具有src属性时,JSPX页面会中断,spring,jsp,jstl,jsp-tags,jspx,Spring,Jsp,Jstl,Jsp Tags,Jspx,出于某种奇怪的原因,每当我在这个JSPX块的末尾向脚本标记添加src元素时,页面的前半部分都拒绝加载。在行前剪切HTML,并完全冲洗页面。我在这里尝试了几个不同的选项,包括一个CDATA块,将脚本内联,并将其从页面中完全删除。无论出于何种原因,在该脚本块中呈现任何内容都会破坏页面 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" xmlns:
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:spring="urn:jsptld:/WEB-INF/tlds/spring.tld"
xmlns:spring-form="urn:jsptld:/WEB-INF/tlds/spring-form.tld"
xmlns:intela-coreg="urn:jsptld:/WEB-INF/tlds/intela-coreg.tld"
xmlns:c="urn:jsptld:/WEB-INF/tlds/c.tld"
xmlns:x="urn:jsptld:/WEB-INF/tlds/x.tld"
xmlns:fmt="urn:jsptld:/WEB-INF/tlds/fmt.tld"
xmlns:fn="urn:jsptld:/WEB-INF/tlds/fn.tld"
xmlns:intela="urn:jsptagdir:/WEB-INF/tags/intela" version="2.0">
<jsp:directive.page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"/>
<c:set var = "myPath" value ="${sessionPath.regPath.pathName}" />
<c:set var = "pathParts" value="${fn:split(myPath, '_')}" />
<c:set var = "myPathPlacement" value = "${pathParts[0]}" />
<!-- Add the container code based on domain -->
<c:choose>
<!-- Australia -->
<c:when test ="${myPathPlacement == 'ap'}">
<c:set var ="gCode" value ="GTM-FR7W" />
</c:when>
<c:when test ="${myPathPlacement == 'as'}">
<c:set var ="gCode" value ="GTM-64GD" />
</c:when>
<c:when test ="${myPathPlacement == 'xaph'}">
<c:set var ="gCode" value ="GTM-TBNP" />
</c:when>
<!-- Canada -->
<c:when test ="${myPathPlacement == 'cp'}">
<c:set var ="gCode" value ="GTM-J578" />
</c:when>
<c:when test ="${myPathPlacement == 'xcph'}">
<c:set var ="gCode" value ="GTM-6WG2" />
</c:when>
<!-- Netherlands -->
<c:when test ="${myPathPlacement == 'nl2'}">
<c:choose>
<c:when test = "${pathParts[1] == 'voucher'}" >
<c:set var ="gCode" value ="GTM-6S7B" />
</c:when>
<c:when test = "${pathParts[1] == 'scooter'}">
<c:set var ="gCode" value = "GTM-8W4R" />
</c:when>
</c:choose>
</c:when>
<!-- Spain -->
<c:when test ="${myPathPlacement == 'es'}">
<c:choose>
<c:when test = "${fn:contains(pathParts[1], 'apple')}" >
<c:set var ="gCode" value ="GTM-JVG5" />
</c:when>
<c:when test = "${pathParts[1] == 'elcorteingles'}">
<c:set var ="gCode" value = "GTM-53L3" />
</c:when>
</c:choose>
</c:when>
<!-- France -->
<c:when test ="${myPathPlacement == 'fr'}">
<c:choose>
<c:when test = "${fn:contains(pathParts[1], 'peage')}" >
<c:set var ="gCode" value ="GTM-F5DR" />
</c:when>
</c:choose>
</c:when>
<c:when test ="${myPathPlacement == 'fr2'}">
<c:set var ="gCode" value ="GTM-ZG2J" />
</c:when>
<!-- UK -->
<c:when test ="${myPathPlacement == 'hp'}">
<c:choose>
<c:when test = "${pathParts[1] == 'uk'}" >
<c:set var ="gCode" value ="GTM-4LX8" />
</c:when>
</c:choose>
</c:when>
<c:when test ="${myPathPlacement == 'p2w'}">
<c:set var ="gCode" value ="GTM-S73N" />
</c:when>
<c:when test ="${myPathPlacement == 'pu'}">
<c:set var ="gCode" value ="GTM-7BRV" />
</c:when>
<c:when test ="${myPathPlacement == 'xurt'}">
<c:set var ="gCode" value ="GTM-TH5Q" />
</c:when>
<c:when test ="${myPathPlacement == 'TechRewardsUK'}">
<c:set var ="gCode" value ="GTM-Q3PL" />
</c:when>
<!-- USA -->
<c:when test ="${myPathPlacement == 'cd'}">
<c:set var ="gCode" value ="GTM-B4D5" />
</c:when>
<c:when test ="${myPathPlacement == 'uspr'}">
<c:set var ="gCode" value ="GTM-PZTJ" />
</c:when>
<c:when test ="${myPathPlacement == 'usrt'}">
<c:set var ="gCode" value ="GTM-QMZG" />
</c:when>
<c:when test ="${myPathPlacement == 'ussr'}">
<c:set var ="gCode" value ="GTM-GRJK" />
</c:when>
<c:when test ="${myPathPlacement == 'us'}">
<c:set var ="gCode" value ="GTM-W285" />
</c:when>
</c:choose>
<c:set var = "gCodeLength" value = "${fn:length(gCode)}" />
<!-- Test to see if this page needs the code or move along, these are not the droids we are looking for -->
<c:if test = "${gCodeLength > 0}" >
<script src="/media/common/js/googleTagManager.js"><!-- test --></script>
</c:if>
只是猜测,您是否尝试将
${gCodeLength>0}
替换为${gCodeLength gt 0}
?可能是>
导致了这里的问题。这似乎不是罪魁祸首,如果没有其他属性与脚本标记关联,并且标记本身中没有源,我可以在if语句中使用脚本标记。此错误是否在不同的浏览器中发生?你在哪些方面做过测试?您是否在浏览器的控制台中看到任何错误?如果将type=“text/javascript”
添加到脚本标记中,它是否有效?我在任何浏览器中看到的唯一错误是文档的整个部分拒绝加载。控制台中没有任何内容,除了与未加载文档的head部分相关的错误。当我向脚本标记添加任何内容(包括type属性或任何内联内容)时,所有内容似乎都崩溃了。您是否检查了生成的HTML代码(在浏览器中查看源代码)?看起来怎么样?可能有一些标签没有关闭或类似的东西。