2014-06-20 32 views
0

我正在使用RichFaces的Web應用程序開發工作。目前使用4.3.7版本。Internet Explorer Ajax錯誤與Mojarra 2.1.28和RichFaces 4.3

當我從Mojarra 2.1.27升級到2.1.28時,使用Internet Explorer 8引入了一個奇怪的行爲。我的一些ajax按鈕停止工作。我做了一步一步的分析,在模板中的不同位置移動一個簡單的ajax按鈕。最後我意識到問題取決於按鈕的位置。它工作的表單之外。在第一種形式裏面工作。但在第二種形式裏面沒有。當然,這些表格並未包含在其他表格中。

總結在一個非常簡單的XHTML像這樣存在問題的情況:

<a4j:log /> 
<h:form> 
    <a4j:commandButton value="Hello" oncomplete="alert('Hello')" /> 
</h:form> 
<h:form> 
    <a4j:commandButton value="Hello" oncomplete="alert('Hello')" /> 
</h:form> 

的第一個按鈕按預期工作,但第二個無可奈何以下警告出現在阿賈克斯日誌面板(和按鈕什麼也沒有):

richfaces.queue ajax submit error 'name' is null or object not defined 

如果我已經移動了窗體外的ajax按鈕也工作。我曾嘗試過使用Chrome瀏覽器,並且按預期工作。

當我改回到jsf-api-2.1.27和jsf-impl-2.1.27時,一切都很完美。但是RichFaces更新日誌表示他們改爲jsf 2.1.28,所以我必須爲這個bug探索解決方案,因爲我想一起使用RF 4.3.7和jsf 2.1.28。

回答

0

最後我找到了這個問題很好的解決方案使用互聯網研究:-)

的問題是相比jsf- jsf.js在JSF的IMPL-2.1.28的jsf.js腳本的變化以前是impl-2.1.27。

我按照建議的補丁在這裏找到: https://github.com/jboss/mojarra/commit/6830d0a647d8b6919440a875a5f7ec3840dabf84

我已經使用7-ZIP打開JSF-IMPL-2.1.28,並已提取的JSF-uncomressed.js文件。 我已經修改了腳本,有人建議,在http://jscompress.com/

精縮的結果爲jsf.js網上最後把兩個文件放回罐子覆蓋使用7-ZIP utils的

,並期待奇蹟的原一切正常完美現在

我希望它可以幫助別人走在同一雙鞋:-)