0

JSF 2.0(primefaces 3.2を使用)アプリケーションを開発していますが、JSFアプリケーションをLiferay内に統合したいと考えています。私はLiferayを初めて使用します。要件は、アプリケーションがLiferayを介して入場できるようにすることです。

これは、ユーザーがログインすることを意味します。これは、Liferayを介して行われる必要があります。次に、liferayにログインした後、liferayの基本的なビデオで見たように、「Liferayhomepage」が表示されます。

さて、そのホームページの中で、またはログイン後に、私が開発しているJSFアプリケーションを見ることができるはずです(私のアプリケーションはliferay内のポートレットになると言うことができます)。そして、Liferayで適用した「役割」に従ってナビゲートできる必要があります。どうやってやるの?

2番目の質問は、JSFアプリケーション内に入力したら、データベースからのデータの挿入と取得を実行するために、一意の「userId」が必要になることは間違いありません。JSFアプリケーション内でどのように使用できますか?誰かが簡単な例で説明できるなら、これは私が立ち往生しているポイントなので、それは本当に役に立ちます。私を助けてください。

要するに、liferayを介して別のJSFアプリケーションを呼び出すことは可能ですか?ここでは、liferayが「役割」を提供するため、liferayを介してエントリを提供します。これにより、liferayを介してログインすると、ロール(管理者、パワーユーザーなど)に基づいてJSFアプリケーションに入ることができるようになります(これは正確には何ですか)私はやってみたいです)

誰かが私の質問についてもっと説明が必要な場合は私に知らせてください。

4

3 に答える 3

5

マークがすでに述べたように、ここでjsfポートレットの例(primefacesも含む)を見つけることができますhttp://www.liferay.com/community/liferay-projects/liferay-faces/demos

jsfポートレット内では、次の方法でユーザーオブジェクト(ロールを含む)を取得できます。

public static User getCurrentUser(){
    User u = null;
    FacesContext fc = FacesContext.getCurrentInstance();
    ExternalContext externalContext = fc.getExternalContext();
    if (externalContext.getUserPrincipal() != null) {
        Long id = Long.parseLong(externalContext.getUserPrincipal().getName());
        try {
            u = UserLocalServiceUtil.getUserById(id);
        }
        catch (Exception ex) {
            LOG.error(ex.getMessage());
        }
    }
    return u;
}
于 2012-04-23T14:13:33.823 に答える
1

Liferay IDE をインストールすると、単純な JSF-2 ポートレットを作成するのに役立ちます。portletfaces ページ http://www.portletfaces.org/projects/portletfaces-bridge/liferay-ideでいくつかの例を見つけました

参考までに、portlet-faces は liferay-faces になりました: http://www.portletfaces.org/projects/liferayfaces

于 2012-04-22T19:09:29.977 に答える