2011-11-15 46 views
0

我正嘗試將JSP加載到JSF頁面中的IFrame中,但我正在嘗試調試一個奇怪的Weblogic異常:當嘗試使用JSF在IFrame中加載JSP時的NPE

`####<Nov 15, 2011 1:59:58 PM EST> <Error> <HTTP> <MACHINE_NAME> <node1> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1321383598271> <BEA-101020> <[[email protected][app:dist module:/APP_NAME path:/APP_NAME spec-version:2.5]] Servlet failed with Exception 

java.lang.NullPointerException at jsp_servlet._jsf。 報告。 _reportlist。 jspService( _reportlist.java:149) 在weblogic.servlet.jsp.JspBase.service(JspBase.java:34) 在weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:227) 在weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java: 416) 在weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326) 在weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 在weblogic.servlet.internal.FilterChainImpl.doFilter( FilterChainImpl.java: 56)`

就應用程序而言,應用程序中的所有其他應用程序運行良好,除了此錯誤似乎來自Weblogic Server本身。有沒有其他人看到這個錯誤,你的問題的解決方案是什麼?

UPDATE
我在Windows上運行的Weblogic 11g中,並使用附帶的Weblogic的JSF罐子,2.0規範,我相信。在jsp_servlet._jsf.reports._reportlist.jspService(_reportlist.java:149)

回答

1

顯示java.lang.NullPointerException

該錯誤不從自身的WebLogic來。這是來自你的reportlist.jsp。您正在使用老式的scriptlets在該JSP文件中編寫Java代碼,而不是在正常(並且更容易調試/可測試)的Java類中編寫Java代碼。當代碼嘗試訪問它時,某些對象是null

該錯誤也與JSF無關。當您將iframe的URL直接複製到瀏覽器的地址欄時,您會遇到完全相同的問題。

看看在Weblogic的工作文件夾中的文件夾/jsp_servlet/_jsf/_reports_reportlist.java文件的149行,跟蹤此回reportlist.jsp文件的源代碼顯示在您的web內容,並相應地解決它。

+0

頁面確實有scriptlet,但是reportList.jsp中的第149行是循環的結束標記。該頁面是一段遺留的代碼,我被指示不改變網站的外觀(因此