2013-06-25 2 views
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 

Спасибо, Ориоль

ответ

1

AFAIK, такого метода нет. Но даже если бы он существовал, он не предоставил всю информацию, которую вы собираетесь использовать, потому что некоторые из них не являются атрибутом пользовательского класса или соответствующей таблицы «user_» в базе данных LF.

Если вы понимаете, как работает ServiceBuilder Model, вы увидите, что под капотом работает сложная модель, и она не работает как атрибуты.

Например, нет 'user.getAddress()'., Потому что Address является сложным классом, подклассическим контактом и сохраняет 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 URLs и т.д.

Для остальной части «Атрибуты» (имена и типы), вы должен выглядеть here

+0

спасибо, я позабочусь о том, что вы сказали! – user1592470

1

Вы можете получить объект пользователя по телефону:

User u = userService.getUserById(0); 

или проверить liferay docs for UserService

, то вы можете использовать как:

u.getAddresses(); 
u.getBirthday(); 
u.getFullName(); 
+0

Я предполагаю, что Ориол просит имена параметров –

+0

, вот что я ищу. Мне нужны имена параметров. Извините за недоразумение. – user1592470

-1

вы можете получить его от:

User user = UserLocalServiceUtil.getUser(userId); 

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

Смежные вопросы