私は絶対に実行可能なポートレットを持っています。ポップアップ、レイジーテーブル、テーブルなどが多数ある複雑なフォームです。それは正常に動作します。そして、すべてのフィールドと構造を自動入力できるようにしたいと考えています。URL からパラメーターを分析するコンストラクターを追加します。
RenderRequest renderRequest = (RenderRequest) (FacesContext .getCurrentInstance()
.getExternalContext().getRequestMap().get("javax.portlet.request"));
String applicationIndex = renderRequest.getParameter("caid");
データまたはデフォルトのコンストラクターによる構造体の初期化。
ポップアップを開くと、データが表示されないか、ボタンをクリックしても反応しません。そしてこれはログにあります:
原因: java.lang.ClassCastException: com.liferay.portlet.ResourceRequestImpl は javax.portlet.RenderRequest にキャストできません
次の行で発生します。
RenderRequest renderRequest = (RenderRequest)FacesContext.getCurrentInstance).getExternalContext).getRequestMap).get"java
x.portlet.request"));
これは、Bean コンストラクターの最初の行です。
問題は、この状況でコンストラクターを正しく動作させるにはどうすればよいかということです。