完善本博客的过程中,发现Thymeleaf有点玩不动了。

js里面if判断&&时报了个错:在实体引用中,实体名称必须紧跟在'&' SAX解析异常。

controller返回的这个页面是使用sax解析的,thymeleaf是采用xml解析的方式进行替换的,所以javascript中&这样的xml实体转义字符会被识别为转义,所以会出sax解析错误。

xml里面我们怎么解决的?

<![CDATA[ ]]>
<![CDATA[]]>标记所包含的内容为纯文本,里面想写什么就什么

所以这里也同样,沿用此方法:

/*<![CDATA[*/
    let hours = parseInt(new Date().getHours());
    if (hours > 7 && hours < 22) {
        alert(hours);
    }else{
        alert(hours);
    }
/*]]>*/