2010-12-02 92 views
0

我要實現我的JSF應用程序中的一些什麼樣的幫助,功能JSF:如何捕捉響應是發送到客戶端

場景:

當我的應用程序的用戶有問題,他們向我發送截圖。這些質量很差,我看不到我想要的信息。

我的想法:我添加一個「幫助」按鈕到我的jsf頁面。當按下這個按鈕時,我存儲發送到客戶端的渲染響應(生成的html)。

現在我可以打開生成的html文件,可以看到我想要的信息(例如inputfield的值)

現在我的問題。

我該如何執行此任務?

我已經試過的PhaseListener和使用

PrintWriter w = new PrintWriter(System.out); DebugUtil.simplePrintTree(FacesContext.getCurrentInstance().getViewRoot(),"",w);

但這僅僅是組件樹,而不是生成的HTML

換句話說:我想捕捉FacesContext.getExternalContext的輸出( ).getResponse()即發送給客戶端

有什麼想法?

+0

[捕獲在服務器端生成的動態內容]的可能重複(http://stackoverflow.com/questions/1963158/capture-generated-dynamic-content-at-server-side) – BalusC 2010-12-02 17:46:34

回答

2

圍繞FacesServlet使用Filter。在那裏定義了一個HttpServletResponseWrapper,然後使其getOutputStream()getWriter()返回原始對象的包裝。在包裝中,除了委託給原始實現之外,還將寫入的數據存儲在別的地方。

+0

感謝提示 – wutzebaer 2012-07-06 15:37:46

相關問題