我想在我的应用程序中添加一个表单,以便根据 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
谢谢你, 奥里奥尔
答案 0 :(得分:1)
您可以通过调用以下方式获取User对象:
User u = userService.getUserById(0);
或检查liferay docs for UserService
然后你可以使用像:
这样的gettersu.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();