簡體   English   中英

JSF 2.0 AJAX調用失敗

[英]JSF 2.0 AJAX Calls Failing

我正在做一個項目,以使用JSF1.2,JSP,Struts,Tiles,Richfaces來使用現有項目……僅使用JSF2.0,內置facelets支持並將Richfaces更新到版本4。

到目前為止,除了一個主要的路障之外,其他一切進展順利。 我正在嘗試將以前使用<a4j:support>標記處理的AJAX組件更新為<f:ajax>標記,而不是按照我希望的方式工作,我遇到了一個錯誤,我只能解釋因為我忘記了一切配置方面的東西。

這是在com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter()方法中引發的NullPointerException。

第一次加載頁面時,我可以在調試器中看到正確綁定到支持值的組件。 頁面加載無任何意外。 當我嘗試激活所述組件上的AJAX事件時,它會崩潰。 我收到錯誤消息,並且沒有通過AJAX更新任何內容。 我嘗試轉換的每個AJAX組件都在發生這種情況。 這是一個這樣的例子:

        <h:selectOneMenu
        value="#{userSession.selectedNetwork}"
        id="network"
        >
        <f:selectItems value="#{userSession.networkUIOptions}" />
        <f:ajax event="change" render="selectedStation edit_site_button add_site_button"/>
    </h:selectOneMenu>

我不知道這是否相關,但是我在該代碼中引用的Bean現在被注釋為ala JSF2.0並已從faces-config.xml中刪除,但是,我還沒有完全擺脫掉faces- config.xml中。 仍在努力轉換所有內容。 另外,我正在Tomcat 6.0上運行它。

任何幫助,建議將不勝感激。 我真的陷在這個問題上了。

編輯1:

按照我下載的捆綁包標題使用mojarra 2.1.1版。 無法獲取准確的堆棧跟蹤。 更改了許多內容后,日志似乎無法正常工作。 將繼續嘗試。 也將嘗試簡單的頁面並報告結果。

編輯2:因此,嘗試“最小化”頁面會產生相同的結果,相同的錯誤。

仍然無法使日志記錄完全正確地工作,因此進行了一些貧民區日志記錄。 參見下文,了解類似於正確的堆棧跟蹤的內容:

編輯3:好的,用行號更新了貧民窟堆棧跟蹤。 您在第一個類的行號上猜對了,就拋出了錯誤: http : //pastebin.com/49yUDcPM

NPNSessionFilter.java的doFilter函數: http ://pastebin.com/iwG0rcQ6

我在建議下為BalusC創建的測試頁: http//pastebin.com/kSeUyj7g

編輯4:

http://tinypic.com/r/2dca0yo/7 http://tinypic.com/r/16jet7s/7

這是WAR的WEB-INF / lib文件夾中當前打包的lib的圖像。 以前的程序員包括很多我還沒有清除的垃圾。 同樣,不確定struts JAR的來源。 刪除了我可以找到的與strust或tile相關的所有pre-dist JAR。

編輯5:

好,突破! 這個評論帶來了一個與眾不同的世界:“同樣,不確定struts JAR來自何處。刪除了我可以找到的與strust或tile相關的所有pre-dist JAR。”

耳朵清潔,疏遠,現在情況更好。 顯然,這不僅僅是我忘記刪除的一個lib,而是我忘記刪除的一個lib,然后在刪除之后清理EAR。 AJAX請求現在可以正常處理了,我可以看到調試器中的值在請求通過時被重新綁定! 大量其他問題,但可以自己解決。 BalusC,您使我想到了這個解決方案; 如果您想提交答案,我會很樂意接受!

com.sun.faces.context.PartialViewContextImpl:PartialViewContextImpl.java:createPartialResponseWriter:441上的NullPointerException

此異常表明JSF視圖根為null,這反過來又表明,在類路徑中有一些針對JSF 1.2的第三方或自定義ViewHandler ,這並非完全適合JSF 2.0,因此也需要升級(或完全刪除)。

根據您的屏幕快照以及所有JAR的概述, struts-faces JAR是主要的可疑對象。 但是,Apache Commons和JSTL庫的混合版本看起來也不正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM