JSF 2.0 - 在URL中包含带&符号的脚本标记

时间:2011-08-27 15:34:03

标签: javascript https jsf-2 google-maps-api-3

我正在尝试添加Google Maps API脚本:

<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>

问题是&符号会导致XML解析错误。如果我这样做:

<script src="https://maps.googleapis.com/maps/api/js?v=3&amp;sensor=false" type="text/javascript"></script>

逐字逐句返回。

知道如何在结果页面中获取预期的脚本标记吗?

3 个答案:

答案 0 :(得分:2)

我不喜欢这一点,但至少它有效:

<h:outputText value="&lt;script src=&quot;https://maps.googleapis.com/maps/api/js?v=3&amp;sensor=false&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;"/>

如果有人有更清洁的解决方案,我会不加考虑。

答案 1 :(得分:2)

  

问题是&符号会导致XML解析错误。如果我这样做:

<script src="https://maps.googleapis.com/maps/api/js?v=3&amp;sensor=false" type="text/javascript"></script>
     

逐字逐句返回。

不应该。这完全有效。更重要的是,根据HTML规范,使用&amp;来分隔任何HTML元素的hrefsrc属性中的查询字符串中的多个参数是必需的。您的逐字问题是由其他原因引起的。

答案 2 :(得分:0)

我已经测试了史蒂夫泰勒建议的东西,起初它对我不起作用。它画的是&amp;和“没有编码字符的字符串,因此脚本标记不被视为那个,而是作为常规文本字符串。然后我尝试将一个escape =”false“属性传递给h:outputText选项卡和voilá!工作像一个魅力。不是最干净的解决方案,这是肯定的,但它是迄今为止唯一对我有用的解决方案。