我正面臨着使用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