0

会社全体の設定として構成されたポートレットがあるため、全員で同じ設定が共有されます

ここで、これらの設定にデフォルト値を設定したいので、このコードはライフサイクル全体で最初の実行にのみ必要です。そのため、以前に設定されていない場合に備えて、このデフォルト値を設定するには init() メソッドが最適なオプションであると考えています。

そこから PortletPreferences オブジェクトを取得するにはどうすればよいですか?

編集GenericPortlet から取得できる portletContext と portletConfig を探していますが、これまでのところ運がありません

4

1 に答える 1

1

値を変更したことがない場合は、一度初期化してサーバーを再起動するまで保持しておくとよいので、ポートレットにハードコーディングします。

構成が変更される可能性がわずかにある場合(最初にのみ、ポートレットをページに追加した後)、必要なときにそれらを読んでください。そして、portlet.xmlでデフォルトを提供します。

<portlet>
    <portlet-name>my-portlet</portlet-name>
    <portlet-class>
        com.example.MyPortlet
    </portlet-class>
    <portlet-preferences>
        <preference>
            <name>my-first-pref</name>
            <value>some default value</value>
        </preference>
    </portlet-preferences>
</portlet>

注意:ポートレット設定を変更した場合、それらをアクティブ化するにはサーバーを再起動する必要があります

設定を取得するためのパフォーマンスが心配な場合:影響があるかどうかを測定し、数値を投稿します。私の賭けは、他の場所でより多くのパフォーマンスを得ることができるということです。そして、他の場所で絶対にパフォーマンスを得ることができない場合:おめでとうございます、あなたはよく調整されたシステムを持っています。

于 2012-08-15T13:40:07.037 に答える