2013-05-03 2 views
0
내가하는 Liferay에있는 모든 사용자의 이메일 주소를 얻으려면

의 모든 사용자의 이메일 주소를 얻는 방법.. 나는 다음과 같은 코드를 사용했다 <br> ...을 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은 내 포틀릿의 이름입니다.

+0

당신의 도움에 감사드립니다. 나는 여기 뉴비 ... – user2341971

답변

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)' –

+0

지적 해 주셔서 감사합니다. –

+0

럭키 보이 :) :) :) 덕분에 저에게 도움이되었습니다. – user2341971

1

이 있으면 알려주세요 코드 : 그런 다음 User의를 가져하려면

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); 

는 코드, 그냥 0을 변경 미세 필요가있다및 endOfList 필드 :

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

나는 이러한 오류의 원인을 얻지 못했습니다. 새 자바 파일을 만들고 코드를 다시 작성합니다. 이제 잘 작동합니다 .. 도움을 주셔서 감사합니다 – user2341971

관련 문제