2

Javaで現在のLiferayユーザーを取得するにはどうすればよいですか:

私はこれを見つけました: Liferayで現在のユーザーを取得するにはどうすればよいですか? そしてこれ: 単純なJavaコードを使用して現在のユーザーLiferayを取得します

しかし、誰もが「リクエスト」を初期化する方法を教えてくれます

このドキュメントhttp://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/understanding-the-two-phases-of-portlet-executionでさえ複雑なようです

4

4 に答える 4

3

Vaadin アプリケーションに を実装するcom.vaadin.terminal.gwt.server.PortletRequestListenerと、リクエストにアクセスできます。

public class MyApp extends Application implements PortletRequestListener {

    public void init() {
    …
    }


    @Override
    public void onRequestStart(PortletRequest request, PortletResponse response) {
        User user = PortalUtil.getUser(request);
        setUser(user);
    }

    @Override
    public void onRequestEnd(PortletRequest request, PortletResponse response) {

    }
}
于 2012-05-22T07:33:41.517 に答える
1

Vaadin 6.8.0 と Liferay 6.1 を使用しています。Henri Kerola ソリューションを使用した少し異なるコードを次に示します。

    @Override
public void onRequestStart(PortletRequest request, PortletResponse response) {
    try {
        this.setUser(request.getUserPrincipal().getName());
    } catch (Exception e) {
        this.setUser("anonymous");
    }
}

ユーザー プロパティは Vaadin ラベルです。匿名ユーザー (Liferay からのゲスト)​​ の getUserPrincipal nullPointer のため、try/catch が必要です。

よろしくお願いします、

于 2012-06-24T16:31:10.883 に答える
1

request オブジェクトは、jsp だけでなく、action メソッドまたは render メソッドのパラメーターとしても使用できます。初期化は行わず、そこにあるだけです(たとえば、processAction(ActionRequest request、ActionResponse response)のパラメーターを参照してください)。同じことがrender-、event、およびresource-phaseにもあります(ただし、リクエスト/レスポンスのサブタイプによって異なります) )。

于 2012-05-21T12:37:13.510 に答える
0

Vaadin ポートレット (アプリケーション) で methode: を使用してみましたgetUser()か?

Vaadin Portlet は、Liferay API を Vaadin 固有のフレームワークでラップしました。したがって、Vaadin ポートレットの開発には独自の仕様があり、標準の Liferay API はここでは簡単に使用できません。

于 2012-05-21T23:06:12.577 に答える