我有一個字符串,它與下面的代碼所做的HashSet
:JSTL每個,VAR包含方括號
Set<String> scripts = new HashSet<>();
String contextPath = request.getContextPath();
scripts.add(contextPath + "/resources/scripts/jquery.cycle2.js");
scripts.add(contextPath + "/resources/scripts/jquery.cycle2.center.js");
scripts.add(contextPath + "/resources/scripts/slideshow.js");
request.setAttribute("scripts", scripts);
現在在JSP頁面中,使用JSTL,我做一個正常的forEach循環:
<c:if test="${not empty scripts}">
<c:forEach var="script" items="${scripts}" >
<script type="text/javascript"
src="${script}">
</script>
</c:forEach>
</c:if>
當加載頁面,這會導致:
<script type="text/javascript"
src="[/InfoKiosk/resources/scripts/jquery.cycle2.center.js">
</script>
<script type="text/javascript"
src=" /InfoKiosk/resources/scripts/jquery.cycle2.js">
</script>
<script type="text/javascript"
src=" /InfoKiosk/resources/scripts/slideshow.js]">
</script>
通知的方括號([
和]
)出現在第一個腳本源之前和之後。他們來自哪裏?
嘗試使用'List'而不是'Set'。 –
@JasperdeVries我們最初使用過List,我們嘗試了Set來試圖解決這個問題。原因是完全不同的,我會在我自己的答案中解釋。 – MarioDS