我正在使用thymeleaf和Spring Boot来解析实体。

我试图将boolean字段值更改为String,例如“是”或“否”,但看起来似乎很简单,但出现以下错误:


  12:54:30.046 [XNIO-2任务17]错误o.t.templateparser.ErrorHandler-
  [THYMELEAF] [XNIO-2任务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>


谢谢。

最佳答案

该异常清楚表明您将JavaScript代码嵌入XML文档中。很自然,&&会失败,因为&表示已编号或命名的字符实体(例如&nbsp;&#1234;)的开头。

可能的解决方案:


不要将JavaScript代码嵌入XML。使用从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)维护的噩梦。但是例如,&&运算符必须写为&amp;&amp;

关于javascript - jQuery AND OR运算符上的if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45078945/

10-12 03:33
查看更多