Java 如何在response.sendRedirect中传递集合对象

Java 如何在response.sendRedirect中传递集合对象,java,xml,jsp,session,Java,Xml,Jsp,Session,在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 w

在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 
}
if(某些任务=true)
{
//在运行时显示xml
List List=dao.selectemailmobile(login);//这里我从数据库中获取数据,我得到的数据非常好
response.sendredirect(“page.jsp?list=“+list”)
//我想以list=list()的形式传递这个list参数;
//此页面将在运行时显示xml
}
其他的
{
//一些状态码
//这个工作很好
}
我尝试的

1.按照我显示的列表传递这个(List)参数,但当我检索它时,会显示

 cannot cast from string to List<Bean>
无法从字符串强制转换为列表
为此,我也试着输入cast,但什么也没发生

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


任何帮助都将不胜感激。您可以将会话中的列表设置为

request.getSession().setAttribute("list",list);
在下一页中检索列表,如下所示

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

将整个列表作为一个JSON字符串发送,并使用JSON重新生成列表。
您需要使用JSONObject。您可以做的另一件事是,将列表设置为会话,从会话中获取列表,并在需要时使会话无效。

我不能删除,因为我必须使用此列表传递给一个变量,该变量将返回字符串,我将显示为xml。@A5l-lE5从会话中删除列表取决于应用程序的性质。是的,我把它标记为可选的。它仍然给出了一个错误。未选中从对象到列表的强制转换你能试着把@SuppressWarnings(“未选中”)放在列表中吗,作为其类型:safety check.it’s giving java.lang.OutOfMemoryError:java heap space exception。我也尝试增加堆大小,但它不起作用。我不想使用JSON,因为我要将数据从数据库中提取到一个列表中,我必须传递该列表。在这种情况下,使用RequestDispatcher并使用forward方法,在那里你可以发送列表。我已经尝试过了,但是它不起作用。我正在从一个对象到另一个列表进行错误取消选中的转换
List<Bean> list = new ArrayList<Bean>();  
list.addAll(session.getAttribute("list")); 
request.getSession().removeAttribute("list");