PrimeFaces GMap渲染报错求助:按文档配置后页面出错
解决PrimeFaces GMap加载时的实体引用错误
你碰到的这个"The reference to entity..."错误其实很常见,根源在于JSF的XHTML页面是严格的XML格式,而你引用Google Maps API的URL里的&符号没有做转义处理——XML里&是特殊字符,必须转成&才能被解析器正确识别。
具体修复步骤很简单:
- 把你脚本标签里的URL中的
&全部替换成&,原来的URL:
要改成:https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMaphttps://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap - 你的PrimeFaces GMap标签配置完全没问题,
<p:gmap center="41.381542, 2.122893" zoom="15" type="hybrid" style="width:600px;height:400px" />不用做任何修改。
给你一个完整的正确代码示例:
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script> <p:gmap center="41.381542, 2.122893" zoom="15" type="hybrid" style="width:600px;height:400px" />
为什么会出现这个错误呢?因为XML解析器会把&后面的内容当作实体引用(比如&代表&),而你的URL里&后面跟着的是callback,这并不是一个合法的XML实体,所以解析器就抛出了这个错误。只要把&转义成&,就能让XML解析器正确处理这个URL了。
内容的提问来源于stack exchange,提问作者Pablo Aleman
相关产品推荐
相关产品推荐

