我正在使用thymeleaf,在javascript中使用th:inline="javascript"
,但是当我们在java script中添加布尔条件时,thymeleaf会抛出以下异常:
org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 22; The entity name must immediately follow the '&' in the entity reference.
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(XMLDocumentFragmentScannerImpl.java:1845)
.............................
以下是我的JavaScript代码:
<script type="text/javascript" th:inline="javascript">
$(document).ready(function(){
$('.fancybox').fancybox({
'width' :'623px',
'maxHeight':'156px'
});
var catId = $("#category").val();
if(catId != null && catId != ''){
findSubCategories();
/*<![CDATA[*/
var subCatId = /*[[${searchProductDto.subCategory}]]*/
/*]]>*/
debugger;
if(subCatId != null){
$("#subCategory").val(subCatId);
}
}
});
...............................
我们在Thymeleaf中如何使用&运算符?
&
,浏览器会抛出错误。 - Harmeet Singh Taara&
这样正确处理特殊字符(在此处使用CDATA的帮助)纯粹是XML的事情,无论您使用Thymeleaf还是另一个基于XML的工具都需要这样做。 - Petr Bodnár