0

Liferay Usersの属性を考慮してルールを生成するためのフォームをアプリケーションに追加したいと考えています。

この属性のリストを取得する関数を知っていますか? (パラメータ名一覧)

Example:
1. Address,
2. FullName,
3. AccountId,
4. Create Date,
5. Employee Numbre,
6. And so on.....

各パラメータの型を取得する関数を知っていますか? (チェック型エラーのため)

Example:
1. Address -> String
2. FullName -> String

ありがとう、オリオル

4

3 に答える 3

1

次のように呼び出して User オブジェクトを取得できます。

User u = userService.getUserById(0);

またはUserService の liferay ドキュメントを確認してください

次に、次のようなゲッターを使用できます。

u.getAddresses();
u.getBirthday();
u.getFullName();
于 2013-06-25T09:32:58.957 に答える
1

私の知る限り、そのような方法はありません。しかし、それが存在したとしても、必要なすべての情報を提供するわけではありません。その一部は、ユーザー クラスの属性ではないか、LF データベース内の対応する「user_」テーブルではないためです。

ServiceBuilder モデルがどのように機能するかを理解していれば、内部で実行されている複雑なモデルがあり、それが属性のように機能していないことがわかります。

たとえば、「user.getAddress()」はありません。なぜなら、Address は複合クラスであり、Contact をサブクラス化し、User への FK を保持しているためです。彼の住所の 1 つが必要な場合は、彼のすべての住所を取得し (User.getAddresses())、それらを繰り返し処理し、ContantactType でチェックして、たとえば「会社の住所」を取得します。敬意を表して、「user.addAddress(Address)」でさえ、「user.setAddress(String)」を呼び出すことはできません。作業コードは次のようになります。

             //update an existing Address
                existingAddr.setStreet1(street);
                existingAddr.setZip(zip);
                existingAddr.setCity(city);
                AddressLocalServiceUtil.updateAddress(existingAddr);            

                    //then update the user, to store the changes.
        UserLocalServiceUtil.updateUser(user);

誕生日、電話番号、ウェブサイト、Facebook の URL などについても同様です。

残りの「属性」(名前とタイプ) については、こちらを参照してください。

于 2013-06-25T13:00:56.033 に答える
-1

あなたはそれを得ることができます:

User user = UserLocalServiceUtil.getUser(userId); 

user.getFullName(); user.getEmailAddress();

于 2013-07-01T09:16:07.640 に答える