列出用户参数的功能

时间:2013-06-25 08:23:02

标签: liferay liferay-6 liferay-aui

我想在我的应用程序中添加一个表单,以便根据 Liferay用户的属性生成规则。

您是否知道获取此属性列表的功能? (参数名称列表)

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

您知道获取每个参数类型的函数吗? (由于检查类型错误)

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

谢谢你, 奥里奥尔

3 个答案:

答案 0 :(得分:1)

您可以通过调用以下方式获取User对象:

User u = userService.getUserById(0);

或检查liferay docs for UserService

然后你可以使用像:

这样的getters
u.getAddresses();
u.getBirthday();
u.getFullName();

答案 1 :(得分:1)

AFAIK,没有这样的方法。但即使它存在,它也不会提供你想要的所有信息,因为其中一些信息不是用户类的属性,也不是LF数据库中相应的'user_'表。

如果您了解ServiceBuilder模型的工作原理,您会发现有一个复杂的模型在底层运行,并且它不像属性那样工作。

例如,没有'user.getAddress()'。因为,Address是一个复杂类,继承了Contact,并为用户保留了一个FK。如果你想要他的一个地址,你只能获得他的所有地址(User.getAddresses()),并通过它们进行迭代,通过ContantactType检查,例如得到他的“商业地址”。尊敬的是,你不能调用'user.setAddress(String)',甚至不能调用“user.addAddress(Address)”。工作代码看起来更像是:

             //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网址等同样适用

对于其余的“属性”(名称和类型),您应该看here

答案 2 :(得分:-1)

你可以从:

获得它
User user = UserLocalServiceUtil.getUser(userId); 

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