2013-05-03 88 views
0

我想在Liferay中所有用戶的電子郵件地址的所有用戶的電子郵件地址...
我用下面的代碼..如何獲得在Liferay中

DynamicQuery dynamicQuery = UserLocalServiceUtil.dynamicQuery(); 
dynamicQuery.add(RestrictionsFactoryUtil.isNotNull("emailAddress")); 
int startOfList = 0; 
int endOfList = 100; 
List<User> articles = (List<User>) UserLocalServiceUtil.dynamicQuery(dynamicQuery, startOfList, endOfList); 

有人可以告訴我在哪裏上午我犯了錯誤。

我越來越:

  1. java.lang.InstantiationException
  2. com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for ControlPanelPortlet-portlet

ControlPanelPortlet是我的portlet的名稱。

+0

謝謝你的幫助..我是一個新手.. – user2341971 2013-05-06 10:02:38

回答

0

試試這個代碼..

List<User> users = UserLocalServiceUtil.getUsers(0, UserLocalServiceUtil.getUsersCount()); 

for(User user : users) { 
    System.out.println(user.getEmailAddress()); 
} 

讓我知道,如果你有一些問題

+3

你不需要找到用戶的數量(UserLocalServiceUtil.getUsersCount()')就可以得到所有的用戶。只是使用這個:'UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS,QueryUtil.ALL_POS)' – 2013-05-03 07:33:31

+0

謝謝指出 – 2013-05-03 08:08:54

+0

謝謝幸運的男孩:) :) :)它幫助我.. – user2341971 2013-05-06 06:04:35

1

如果你想獲取只是所有用戶的電子郵件地址列表,那麼你可以使用下面的代碼:

DynamicQuery dynamicQuery = UserLocalServiceUtil.dynamicQuery(); 

dynamicQuery.add(RestrictionsFactoryUtil.isNotNull("emailAddress")); 

// this is the statement which would cause to return only a list of emails 
dynamicQuery.setProjection(ProjectionFactoryUtil.property("emailAddress")); 

int startOfList = QueryUtil.ALL_POS; 

int endOfList = QueryUtil.ALL_POS; // this will fetch all the Users 

// note: it returns a list of String 
List<String> emailAddresses = (List<String>) UserLocalServiceUtil.dynamicQuery(dynamicQuery, startOfList, endOfList); 

如果你想,然後取User是你的代碼是好的,只是需要改變startOfListendOfList領域:

DynamicQuery dynamicQuery = UserLocalServiceUtil.dynamicQuery(); 

dynamicQuery.add(RestrictionsFactoryUtil.isNotNull("emailAddress")); 

int startOfList = QueryUtil.ALL_POS; 

int endOfList = QueryUtil.ALL_POS; 

List<User> users = (List<User>) UserLocalServiceUtil.dynamicQuery(dynamicQuery, startOfList, endOfList); 

,或者如果你不想來檢查任何條件,並希望再取User的只有我使用:

List<User> users = UserLocalServiceUtil.getUsers(startOfList, endOfList); 

和關於您所看到的異常,它們與您發佈的代碼無關。這些可能是由於Java類或JSP中的其他代碼造成的。如果你把完整的堆棧跟蹤,那麼可能是我們可以幫助。

+0

我沒有得到這些錯誤的原因,所以我創建一個新的Java文件並重新編寫代碼..現在它的工作正常..感謝您的幫助 – user2341971 2013-05-06 06:06:01