JBoss 7.02 と LifeRay Portal 6.1.0 GA1 を使用して、Java ポートレット (GenericPortlet を拡張) に取り組んでいます。これは、LifeRay のリリース アーカイブからダウンロードできるバンドルの 1 つです。
デプロイ中に init() メソッドが呼び出されると、getRequestDispatcher() は null を返します。以下は、正確なエラー メッセージです。
09:22:15,972 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/my-portlet-name]] (MSC サービス スレッド 1-15) マッピング中のエラー: java.lang.NullPointerException
以下は、私の init() メソッドのスニペットです。
PortletConfig config = getPortletConfig();
PortletContext context = getPortletContext();
PortletRequestDispatcher normalView = context.getRequestDispatcher("/portlet.jsp");
一時的な回避策として、すべてのgetRequestDispatcher()
呼び出しをdoView()
問題なく実行できる場所に移動しました。getRequestDispatcher()
doView 中に呼び出されたときに portlet.jsp を見つけることができる理由がわかりませんが、その間に呼び出されたときは見つかりませんinit()
これを解決する他のメソッドの先行呼び出しがありませんか? これは既知の問題ですか?
助けてくれてありがとう。