как передать объект коллекции в response.sendRedirect

1

на странице jsp скажите x.jsp, у меня есть

if (some task =true)
{
//show xml at run time
List <User_Registration> list = dao.selectemailmobile(login); //here m getting data from  Db and m getting it perfectly alright
response.sendredirect("page.jsp?list="+list)
//i wanted to pass this list parameter as List<Bean> list=List<Bean>();
//this page will show xml at run time

}
else 
{
//some status code 
//this working fine 
}

что я пробовал

1.pass this (List) параметр как список, который я показал, но когда я его извлекаю, говорит

 cannot cast from string to List<Bean>

для этого я также пытался набирать текст, но ничего не происходит.

2.Составляя этот список в сеансе, он показывает

unchecked cast from object to List<Bean>

3.использование запроса Диспетчер

 i get same cannot cast from string to List<Bean>

мой код для этой xml-страницы

<%@ page language="java" contentType="text/xml; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="com.xml.*" %>
<%@page import="com.beans.*" %>
<%@page import="java.util.*" %>


<%@page import="com.xml.ForgotPasswordXml"%>
<%!java.util.List<User_Registration> list= null; %>
<%try{
HttpSession session2=request.getSession();
System.out.println("hii");

list=(List<User_Registration>)request.getAttribute("list");
//list=(java.util.List<User_Registration>)request.getParameter("list");
System.out.println(list.toString());
}catch(Exception e)
{
e.printStackTrace();
}
%>
<%=ForgotPasswordXml.xml(list)%>

любая помощь будет оценена.

Теги:
jsp
session

2 ответа

1
Лучший ответ

Вы можете установить список в сеансе как

request.getSession().setAttribute("list",list);

И на следующей странице найдите список как

@SuppressWarnings("unchecked")
List<Bean> list = (List<Bean>) request.getSession().getAttribute("list");

или

List<Bean> list = new ArrayList<Bean>();  
list.addAll(session.getAttribute("list")); 

Обратите внимание на тип cast, он избежит исключения типа несоответствия.

И если список не нужен дальше, удалите его из сеанса как (необязательно)

request.getSession().removeAttribute("list");
  • 0
    я не могу удалить, так как я должен использовать этот список, чтобы передать переменную, которая вернет мне строку, которую я покажу как xml.
  • 0
    @ A5l-lE5 удаление списка из сеанса зависит от характера приложения. Вот и я пометил его как необязательный.
Показать ещё 7 комментариев
0

Отправьте весь список как одну строку JSON и перестройте Список с помощью JSON. Вам нужно использовать JSONObject. Другая вещь, которую вы можете сделать, - установить список на сеанс и вернуть список из сеанса и аннулировать сеанс, если потребуется.

  • 0
    я не хочу использовать JSON для извлечения данных из БД в список, который я должен передать
  • 0
    в этом случае используйте RequestDispatcher и используйте метод forward, там вы можете отправить список.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню