我使用 thymeleaf 和Spring Boot来解析实体。
我正在尝试将boolean
字段值更改为String
,例如“是”或“否”,但是看起来很简单,我收到以下错误:
12:54:30.046 [XNIO-2 task-17] ERROR o.t.templateparser.ErrorHandler - [THYMELEAF] [XNIO-2 task-17]解析期间出现致命错误 org.xml.sax.SAXParseException:实体名称必须立即执行 '&'之后在实体参考中。
异常解析文档:template =“scenariosList”,第401行 - 第21栏
这是我在javascript中的最后一次尝试:
var modificat = $("#modificatEscenari").val();
var calculat = $("#calculatEscenari").val();
if (calculat) {
$("#calculat").val("Sí");
} else {
$("#calculat").val("No");
$("#calculPendent").val("Sí");
}
if (modificat) {
$("#calculPendent").val("Sí");
}
if (!modificat && calculat) {
$('#calculPendent').val("No");
}
任何人都可以告诉我这段代码中有什么问题if (!modificat && calculat) {...
我已经在if
语句中阅读了运算符的使用情况,这对我来说很好。
修改
它像
一样包裹着<script>
$(document).ready( function () {
....
doing my stuff and the piece of code that trigger the exception
</script>
谢谢。
答案 0 :(得分:2)
该例外表明您已将JavaScript代码嵌入到XML文档中。很自然地,&&
失败了,因为&
表示编号或命名字符实体的开头(如
或Ӓ
)。
可能的解决方案:
不要在JavaScript中嵌入JavaScript代码。使用您从XML引用的单独JavaScript文件。 (如果我是你,这就是我要做的事。)
在CDATA
部分标记。 This question's answers谈论如何做到这一点,例如this one说它应该是:
<script xmlns="http://www.w3.org/1999/xhtml"><![CDATA[
// Your code here
]]></script>
费力地确保JavaScript代码的文本是有效的XML文本,这将是A)痛苦,B)维护噩梦。但是,例如,&&
运算符必须写为&&
。
答案 1 :(得分:-1)
相关:The entity name must immediately follow the '&' in the entity reference
总结:&amp; character是Thymeleaf中的XML Parser使用的特殊字符。
使用&
作为&amp;而不是角色。
你的行看起来像这样:
if(!modificat && calculat){