liferay を 6.0 に、JSF を 1.2 から 2.1 にアップグレードしました。私の既存のコード
((ActionResponse)context.getExternalContext().getResponse()).sendRedirect( redirect );
context.responseComplete();
ここで、リダイレクトは次のように定義されます。
String redirect = "/namingportal/group/customercenter/accountSearch";
上記の URL は、要求をリダイレクトする必要があるポートレット ページです。
エラーで壊れ始めました: java.lang.IllegalStateException: Set render parameter has already been called at com.liferay.portlet.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:48)
いくつかのグーグルを行った後、上記のコードを次のものに置き換える必要があると考えました。
解決策 1:
context.getExternalContext().redirect(redirect);
解決策 1 を試したところ、FacesFileNotFound /namingportal/group/customercenter/accountSearch.xhtml というエラーが表示されました。実際にはポートレットではなく xhtml を探しています。
これも私のweb.xmlにあります:
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
Liferay 6.0 と JSF 2.1 を使用して、JSF マネージド Bean メソッドからポートレットにリダイレクトする別の方法があれば教えてください。
ありがとう