У меня есть страница просмотра, на которой у меня есть кнопка для импорта пользователей из листа Excel. Поэтому при нажатии кнопки импорта пользователей я вызываю следующий метод в своем классе действий портлета. Здесь я повторяю список и вызываю метод создания пользователя для создать пользователей. Теперь я могу создавать пользователей в базе данных. Но мне нужно показать, какие пользователи созданы, а какие не созданы в моем статусе.jsp, т.е. После создания пользователя мне нужно перейти на страницу состояния и отобразить, какие из них созданы, а какие нет.
Итак, я объявил два списка массивов глобально и добавил успешное создание пользователя в один список и неудачный список пользователей в другой список, как показано ниже, но я получаю сообщение об ошибке и не могу добавить в arraylist и не могу передать arraylist на страницу состояния ,
Мой класс действий,
static ArrayList<String> successList;
static ArrayList<String> failureList;
public void addUser(ActionRequest request, ActionResponse response)
throws IOException, PortalException, SystemException {
successList = new ArrayList<String>();
failureList = new ArrayList<String>();
while (iterator.hasNext()) {
userCreation(themeDisplay, serviceContext, values.get(Field.Project_Name), values.get(Field.Project_Status), values.get(Field.Start_Date),
values.get(Field.End_Date), values.get(Field.Company_Name), values.get(Field.PM_FirstName), values.get(Field.PM_MiddleName),
values.get(Field.PM_LastName), values.get(Field.PM_Email), values.get(Field.PM_Password), values.get(Field.PM_Role), values.get(Field.PM_Status));
}
request.setAttribute("successList", successList); request.setAttribute("failureList", failureList); response.setRenderParameter("mvcPath","/html/status.jsp");
}
public static void userCreation(ThemeDisplay themeDisplay, ServiceContext serviceContext,
String Project_Name, String Project_Status, String Start_Date, String End_Date, String Company_Name,
String FirstName, String MiddleName, String LastName, String Email, String Password,
String Role, String Status) throws PortalException, SystemException
{
String result = null;
try {
System.out.println("Try Bolck Start");
User newUser = UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, Password,
Password, autoScreenName, screenName, Email, facebookId, openId,
locale, FirstName, MiddleName, LastName, prefixId, suffixId, male,
birthdayMonth, birthdayDay, birthdayYear, role, groupIds,
organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);
long newUserID = newUser.getUserId();
result = "The User "+ Email + " is created ";
successList.add(result);
} catch(Exception e){
result = "The User "+ Email + " is not created ";
failureList.add(result);
}
}
Статус.jsp:
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<portlet:defineObjects />
<%
String success = (String)request.getAttribute("successList");
String failure = (String)request.getAttribute("failureList");
if(success!= null && !success.isEmpty())
{
out.println("Following users are created successfully");
out.println(success);
out.println();
}
if(failure!= null && !failure.isEmpty())
{
out.println("Following users are not created ");
out.println(failure);
out.println();
}
%>
Также как я могу отправить свой список в виде списка вместо строки, чтобы я мог повторять список в status.jsp и отображать в формате таблицы.
заранее спасибо