java大于号实体引用,实体名称必须紧跟在实体引用中的“&”之后

到目前为止发布的所有答案都给出了正确的解决scheme,但没有人能够正确解释具体问题的根本原因。

Facelets是一种基于XML的视图技术,它使用XHTML + XML来生成HTML输出。 XML有五个特殊字符,它们由XMLparsing器进行特殊处理:

标签的开始

>标签的结尾。

"一个属性值的开始和结束。

'属性值的替代开始和结束。

&实体的开始(以;结尾)。

如果&没有跟在# (例如   等等),XMLparsing器隐式地查找五个预定义的实体名称 lt , gt , amp , quot和apos或任何手动定义的实体名称 。 但是,在您的具体情况下,您使用&作为JavaScript运算符,而不是XML实体。 这完全解释了你得到的XMLparsing错误:

实体名称必须紧跟在实体引用中的“&”之后

实质上,您是在错误的地方编写JavaScript代码,而不是JS文件的XML文档,所以您应该相应地转义所有的XML特殊字符。 &必须以& 。

所以,在你的具体情况下,

if (Modernizr.canvas && Modernizr.localstorage &&

必须成为

if (Modernizr.canvas && Modernizr.localstorage &&

使其成为XML有效。

但是,这使JavaScript代码难以阅读和维护。 正如Mozilla开发者networking的优秀文档“为JavaScript编写XHTML”所述 ,您应该将JavaScript代码放在字符数据(CDATA)块中。 因此,在JSF中,这将是:

XMLparsing器会将块的内容解释为“普通香草”字符数据,而不是XML,因此将“原样”解释为XML特殊字符。

但是,更好的办法就是把JS代码放在你自己的JS文件中,这个JS文件包含在

(注意target="body" ;通过这种方式,JSF将自动将

这样你就不用担心你的JS代码中的XML特殊字符。 作为额外的好处,这使您有机会让浏览器cachingJS文件,以使总体响应规模更小。

也可以看看:

错误分析/page.xhtml:跟踪错误[line:42]实体“nbsp”被引用,但未声明

是否有可能使用JSF + Facelets与HTML 4/5?

如何在Facelets模板中引用CSS / JS / image资源?

为XHTML编写JavaScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java ,大于小于号操作符不能直接用于 `Calendar` 类型,因为 `Calendar` 类型不是基本数据类型或实现了 `Comparable` 接口的类。如果需要比较两个 `Calendar` 对象的大小,可以使用它们的 `compareTo` 方法来进行比较。 `compareTo` 方法是 `Calendar` 类的一个成员方法,用于比较两个日期的先后顺序。它的返回值为整型,如果两个日期相等,返回 0;如果当前日期在参数日期之前,返回负数;如果当前日期在参数日期之后,返回正数。 下面是一个使用 `compareTo` 方法进行比较的示例: ```java import java.util.Calendar; public class CalendarComparisonExample { public static void main(String[] args) { Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); // 将 cal1 设置为 2022 年 1 月 1 日,cal2 设置为 2022 年 2 月 1 日 cal1.set(2022, Calendar.JANUARY, 1); cal2.set(2022, Calendar.FEBRUARY, 1); // 比较两个日期 int result = cal1.compareTo(cal2); if (result == 0) { System.out.println("cal1 和 cal2 日期相同"); } else if (result < 0) { System.out.println("cal1 日期在 cal2 日期之前"); } else { System.out.println("cal1 日期在 cal2 日期之后"); } } } ``` 在上述示例,我们使用 `set` 方法设置了两个 `Calendar` 对象的日期,然后使用 `compareTo` 方法比较它们的先后顺序,并根据比较结果输出不同的信息。注意,`set` 方法的月份需要使用 `Calendar` 类定义的常量,例如 `Calendar.JANUARY` 表示 1 月份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值