1

WAS 7.0 および Myeclipse Blue 10.7 で MyFaces 1.2 を使用しています。次のエラーが表示されます。私はインターネットをかなり徹底的に調査しましたが、役に立ちませんでした。ログはあまり存在しません。MyEclipse には、IBM RAD のような JSF トレース デバッグ ユーティリティはありません。

[8/8/13 10:41:19:447 EDT] 00000018 webapp        E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[/sui_index.jsp]: java.lang.NullPointerException
    at org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:75)
    at com.ibm._jsp._sui_5F_welcome._jspx_meth_f_view_0(_sui_5F_welcome.java:755)
    at com.ibm._jsp._sui_5F_welcome._jspService(_sui_5F_welcome.java:121)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1664)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:940)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:503)
4

1 に答える 1

0

この例外は、 の URL パターンと一致しない要求 URL によって JSF コンポーネントを含む JSP ページを開いた場合に一般的ですFacesServlet。基本的に、JSP ページの JSF コンポーネントはFacesContextまでに利用可能になることを期待していますFacesContext#getCurrentInstance()。ただし、それが返さnullれ、最終的にこれが発生しましNullPointerExceptionた。

FacesServletスタック トレースからも、が適切に呼び出されたというヒントは得られないことに注意してください。HttpJspBase呼び出しは、JSF 独自の ではなく、コンテナー独自の JSP サーブレット (Websphere の場合) に直接行きましたFacesServlet

この問題を解決するにはweb.xml、どの URL パターンにFacesServletマップされているかを調べるだけです。JSF 1.x では、これは通常、*.jsfまたは多分*.facesまたは非常に多分/faces/*です。それがわかったら、ブラウザーのアドレス バーに表示される要求 URL がその URL パターンと正確に一致していることを確認してください。したがって、たとえば代わり​​に

http://example.com/context/sui_index.jsp

実際のマッピングに応じて、どちらかを使用する必要があります

http://example.com/context/sui_index.jsf

また

http://example.com/context/sui_index.faces

また

http://example.com/context/faces/sui_index.jsp

いずれにせよ、この方法でが呼び出され、JSP ページの JSF コンポーネントによって期待されるとおりFacesServletに を適切に準備できます。FacesContext

以下も参照してください。

于 2013-08-08T15:09:55.773 に答える