我正面临着使用MyFaces 2.0中的h:outputscripts中的CDATA块的一些问题......但我不知道是否应该避免在JSF2中使用CDATA,或者如果它是因为我做错事。
也许是因为我在许多复合组件中使用了许多脚本...
事实是,当我有一些包含CDATA块包围脚本的组合组件时,页面中的其他脚本不起作用。
删除CDA可解决此问题。 尽管如此,我有一个问题,使用CDATA块使我的复合组件的一些错误说,当试图使用f:ajax render属性呈现组件时,无法在类NamingContainer上找到组件的属性。 Here is the workaround。
删除围绕我的脚本的CDATA解决了这个问题。
所以我的问题是:我是唯一一个遇到CDATA块和JSF2(MyFaces)问题吗?JSF2 MyFaces和CDATA让f:ajax渲染失败
0
A
回答
1
这是一个已知问题。详细信息请参见MYFACES-3339。它已经修复了,所以你可以试试最新的代码HERE,它将包含在2.1.4和2.0.10中。
+0
谢谢。我仍然在2.0.7。当2.0.10可用时,我会进一步尝试。 – boblemar
1
如果您是唯一有问题的人,我无法回答。我至少可以回答说,在一个XML文件中使用JS代码是一个不好的做法。 JS代码是不正确的XML。摆弄JS代码中的转义XML特殊字符或将JS代码放入CDATA块是很丑陋的。它给JSF ajax响应带来麻烦反过来是一个不同的故事。从技术上讲,这将是JSF实现中使用的一个错误。但从另一方面来说,你实际上练习的是一种不良习惯。
只需将JS代码放入您自己的.js
文件中即可,该文件由您在<h:outputScript>
中引用。
<cc:implementation>
<h:outputScript library="foo" name="js/your-cc-script.js" target="head" />
...
</cc:implementation>
相关问题
- 1. JSF2 Myfaces tomahawk datascroller与f:ajax
- 2. JSF A4J:AJAX和f:AJAX渲染时
- 3. JSF H:inputText的验证和f:AJAX渲染
- 4. JSF2渲染进修旧值
- 5. jsf myfaces 2.2失败
- 6. IPython降价渲染失败
- 7. 图Gtk渲染失败
- 8. 用Haskell XHT Library渲染CDATA
- 9. jQuery Chosen和JSF2 f:ajax呈现问题
- 10. f:ajax渲染不再更新组件
- 11. 渲染openGL纹理:类函数导致渲染失败
- 12. 渲染问题:加载失败渲染问题库
- 13. jsf2 tomahawk selectOneRadio分别渲染标签
- 14. Jsf2 ajax渲染ID未找到
- 15. JSF2 Richfaces 4.1.0树的Ajax部分渲染
- 16. 升级到Facelets - Myfaces 2.0,Tomahawk,ajax4jsf - Facelets页面不渲染
- 17. Mapclusterer在渲染Google地图时失败
- 18. 渲染选项中选择失败
- 19. Rails的渲染,如果@ transaction.save失败
- 20. Xamarin 4.0.13布局渲染器失败
- 21. iOS openGL ES 1.0,渲染失败Texture2D
- 22. Yii的zii.widgets.grid.cgridview型HTML渲染失败
- 23. MVC4锚点锚剃刀渲染失败
- 24. FB.XFBML.parse()在渲染过程中失败
- 25. OpenGL创建渲染上下文失败
- 26. zf2复选框由formInput渲染失败
- 27. 渲染到FBO,采样失败
- 28. JSF - RichFaces - IE9重新渲染失败
- 29. c#directshow.net tee过滤器渲染失败
- 30. 的LINQ to XML - 渲染CDATA为HTML
为什么不把脚本放在单独的文件中? –
我刚刚尝试过,但似乎没有工作。事实上,我的脚本是以复合组件的组件为目标的,我在脚本中使用了#{cc.clientID}。所以我认为,当外化时,js不会取代#{cc.clientID}的实际值...
是否有外部化js获取它的方法? – boblemar