0

私は絶対に実行可能なポートレットを持っています。ポップアップ、レイジーテーブル、テーブルなどが多数ある複雑なフォームです。それは正常に動作します。そして、すべてのフィールドと構造を自動入力できるようにしたいと考えています。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"javax.portlet.request"));

これは、Bean コンストラクターの最初の行です。

問題は、この状況でコンストラクターを正しく動作させるにはどうすればよいかということです。

4

1 に答える 1