当前位置:编程学习 > JAVA >>

servlet向JSP传递集合,JSP取不到值。怎么解决?

servlet  传值的代码如下:

                LinkedList<basicinformation> a=new LinkedList<basicinformation>();//创建链表
ListIterator<basicinformation> aIter=a.listIterator();
basicinformation c=new basicinformation();

basicinformation info=new basicinformation();
while(rsl.next())//从数据库读取信息后填写到a中
{
info.setName(rsl.getString(1));
info.setFullname(rsl.getString(2));
info.setAddress(rsl.getString(3));
info.setTelephone(rsl.getString(4));
info.setContact(rsl.getString(5));
a.add(info);
}
request.setAttribute("contactinfo", a);
                request.setAttribute("aIter",aIter);
                request.setAttribute("c", c);
RequestDispatcher dispatcher=request.getRequestDispatcher("showdata.jsp");
dispatcher.forward(request, response);


JSP的取值代码如下:
 LinkedList a=(LinkedList)request.getAttribute("contactinfo");
 ListIterator aIter=(LinkedList)request.getAttribute("aIter");



basicinformation的代码如下:
public class basicinformation {

private String name;
private String fullname;
private String address;
private String telephone;
private String contactname;

public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}

public void setFullname(String fullname)
{
this.fullname=fullname;
}
public String getFullname()
{
return fullname;
}

public void setAddress(String address)
{
this.address=address;
}
public String getAddress()
{
return address;
}

public void setTelephone(String telephone)
{
this.telephone=telephone;
}
public String getTelephone()
{
return telephone;
}

public void setContact(String contactname)
{
this.contactname=contactname;
}
    public String getContact()
    {
     return contactname;
    }

}


但是我发现a.size()=0就是取得的链表里面没有数据。这是怎么一回事啊。值到底该怎么传怎么取?我的问题出在那里?


如果我想要让servlet将链表传给JSP让JSP以表格的形式输出元素,该怎么搞? --------------------编程问答--------------------  request.setAttribute("list",a);

jsp页面。。。
${list.xxxx}
${list.xxxx}
${list.xxxx}
${list.xxxx}
${list.xxxx}
${list.xxxx}

还有你确信你跳转的页面就是那个showdata.jsp吗??我记得我都会加/的,不知道你这样行不行

--------------------编程问答-------------------- 额,那个${list.xxxx}是什么。。我是初学者不太懂饿。。。

showdata.jsp可以的。 --------------------编程问答-------------------- 先确认servlet里的a有没有数据 --------------------编程问答-------------------- request.setAttribute("contactinfo", a);
之前 打印一下 a.size() ;
确定是否a中有数据 ; --------------------编程问答-------------------- [code]
while(rsl.next())//从数据库读取信息后填写到a中
{
basicinformation info=new basicinformation();  // 这句添加到循环内,不然你的记录后天的都是重复的。。循环出来的每个对象是独立的。。需要重新实例化。。
info.setName(rsl.getString(1));
info.setFullname(rsl.getString(2));
info.setAddress(rsl.getString(3));
info.setTelephone(rsl.getString(4));
info.setContact(rsl.getString(5));
a.add(info);
}
[/code] --------------------编程问答-------------------- 一直用的是断点打印 --------------------编程问答--------------------

while(rsl.next())//从数据库读取信息后填写到a中
{
basicinformation info=new basicinformation(); // 这句加到循环里面来。不然取出来的数据后面都是重复的。。。,每个新的对象必须重新实例化。。
info.setName(rsl.getString(1));
info.setFullname(rsl.getString(2));
info.setAddress(rsl.getString(3));
info.setTelephone(rsl.getString(4));
info.setContact(rsl.getString(5));
a.add(info);
}
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,