这是我的批查询:
action层的是:
RuKu ruKu=(RuKu)form;
String hpmc[]=request.getParameterValues("id");
List list= ruKuDomain.getpl(hpmc);
System.out.println("?????????12121212??????"+list);
request.setAttribute("lists", list);这是dao层的。
public List getpl(String[] hpmc) {
Configuration cfg = new Configuration().configure() ;
SessionFactory factory = cfg.buildSessionFactory() ;
Session session = factory.openSession() ;
List list = new ArrayList() ;
for(int i=0;i<hpmc.length;i++){
System.out.println("-------find hpmc------------>" + hpmc[i]);
String hql="";
Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
list=query.list();
}
session.close() ;
return list ; }jsp页面的取值为:
<%
List list1=(List)request.getAttribute("lists");
System.out.println("~~~~~~~~~~~~~~~~~~"+list1);
if(list1!=null)
{
for(int i=0;i<list1.size();i++)
{
RuKu ruKu=(RuKu)list1.get(i);
%>
<tr class="COL_A">
<td class="TABLE_COL" align="center">
<input type="checkbox" name="id">
</td>
<td class="TABLE_COL">
<%=ruKu.getHpmc()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getRksl()%>
</td>
<td class="TABLE_COL">
<%=ruKu.getScph()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getZt()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getHwmc()%>
</td>
<td class="TABLE_COL" align="center">
<a href="">修改</a>
<a href="">删除</a>
</td>
</tr>
<%
}
}
else
{
}
%>我选择两个进行查询的时候结果只显示最后一条的,第一个的不显示不了。我要怎么改jsp页面的代码
请高手指点指点 。 谢谢!!!
action层的是:
RuKu ruKu=(RuKu)form;
String hpmc[]=request.getParameterValues("id");
List list= ruKuDomain.getpl(hpmc);
System.out.println("?????????12121212??????"+list);
request.setAttribute("lists", list);这是dao层的。
public List getpl(String[] hpmc) {
Configuration cfg = new Configuration().configure() ;
SessionFactory factory = cfg.buildSessionFactory() ;
Session session = factory.openSession() ;
List list = new ArrayList() ;
for(int i=0;i<hpmc.length;i++){
System.out.println("-------find hpmc------------>" + hpmc[i]);
String hql="";
Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
list=query.list();
}
session.close() ;
return list ; }jsp页面的取值为:
<%
List list1=(List)request.getAttribute("lists");
System.out.println("~~~~~~~~~~~~~~~~~~"+list1);
if(list1!=null)
{
for(int i=0;i<list1.size();i++)
{
RuKu ruKu=(RuKu)list1.get(i);
%>
<tr class="COL_A">
<td class="TABLE_COL" align="center">
<input type="checkbox" name="id">
</td>
<td class="TABLE_COL">
<%=ruKu.getHpmc()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getRksl()%>
</td>
<td class="TABLE_COL">
<%=ruKu.getScph()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getZt()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getHwmc()%>
</td>
<td class="TABLE_COL" align="center">
<a href="">修改</a>
<a href="">删除</a>
</td>
</tr>
<%
}
}
else
{
}
%>我选择两个进行查询的时候结果只显示最后一条的,第一个的不显示不了。我要怎么改jsp页面的代码
请高手指点指点 。 谢谢!!!
解决方案 »
- 运行时出错
- Servlet里 的 <a href="file:///.. 超链接片段点击没反应
- 求一个页面功能
- 求助解答html或者struts标签都遇到的一个问题,有解决方法,但谁有合理的解释?
- 截取网站代码遇到问题
- 我用FileUpload上传文件,在Tomcat中可以使用,可是到了weblogic就不能用了
- <div>事件(加跟不加内容时不一样)
- 关于Struts的validation机制,请大家说说!
- 一个关于jsp的问题,请大家指教
- 求教:JSP问题出在哪里? 急!!
- 新手求指导:连接MYSQL数据库有问题,a server running on localhost:3306?
- java中传值
System.out.println("-------find hpmc------------>" + hpmc[i]);
String hql="";Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
//list=query.list();
改成
list.addAll(query.list());
}
for(int i=0;i<hpmc.length;i++){
System.out.println("-------find hpmc------------>" + hpmc[i]);
String hql="";Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
list=query.list();
}
这里有问题,你循环N次,返回的都是最后一个list而已
第一次查询出的数据会封装在list里面
第二次查询到的会把前一次的覆盖
可以考虑用楼上的方法,或者再申明一个Map来保存每次list里面的数据
Session session = factory.openSession() ;
List<RuKu> list = new ArrayList<RuKu>() ;
for(int i=0;i<hpmc.length;i++){
System.out.println("-------find hpmc------------>" + hpmc[i]);
String hql="";Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
//从这里开始改就OK了,因为你的以前的代码这里写的只能是将最后的一个条件查询的结果返回到list里现在改后能将所有的结果返回的list中。
RuKu rk=query.list().get(0);
list.add(rk);
}
session.close() ;
return list ;
Configuration cfg = new Configuration().configure() ;
SessionFactory factory = cfg.buildSessionFactory() ;
Session session = factory.openSession() ;
List list = new ArrayList() ;
for(int i=0;i<hpmc.length;i++){
String hql="";
Query query=session.createQuery("from RuKu where hpmc='"+hpmc[i]+"'");
List list2=query.list();
list.add(list2);
}
System.out.println("-------list list list------------>" + list);
session.close() ;
return list ; }
我改成这样了,打印出了是个【类1,类2】已经取出了是个集合
我在jsp页面显示的是:
List list1=(List)request.getAttribute("lists");
System.out.println("xxxxxxxxxxx4545454xxxxxxxxxxxxxx"+list1);
if(list1!=null)
{
for(int i=0;i<list1.size();i++)
{
RuKu ruKu=(RuKu)list1.get(i);
%>
<tr class="COL_A">
<td class="TABLE_COL" align="center">
<input type="checkbox" name="id">
</td>
<td class="TABLE_COL">
<%=ruKu.getHpmc()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getRksl()%>
</td>
<td class="TABLE_COL">
<%=ruKu.getScph()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getZt()%>
</td>
<td class="TABLE_COL" align="center">
<%=ruKu.getHwmc()%>
</td>
<td class="TABLE_COL" align="center">
<a href="">修改</a>
<a href="">删除</a>
</td>
</tr>
<%
}
}
else
{
%>
<tr>
<td class="TABLE_COL" align="center" colspan="8">
没有内容!!!
</td>
</tr>
<%
}
%>
但是错误:
错误是:
严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.cbd.view.bean.RuKu
RuKu ruKu=(RuKu)list2.get(i);
}
List list2 = (List)list1.get(i);
这个不在for循环里面吗?
我的jsp取值是这样的:
List list1=(List)request.getAttribute("lists");
System.out.println("xxxxxxxxxxx4545454xxxxxxxxxxxxxx"+list1);
if(list1!=null)
{
for(int i=0;i<list1.size();i++)
{
RuKu ruKu=(RuKu)list1.get(i);
}
你给的 List list2 = (List)list1.get(i);我要怎样写:
麻烦你给改一下 :非常感谢!!!
你帮我该一下,谢谢你了。List list1=(List)request.getAttribute("lists");
System.out.println("xxxxxxxxxxx4545454xxxxxxxxxxxxxx"+list1);
if(list1!=null)
{
for(int i=0;i<list1.size();i++)
{
RuKu ruKu=(RuKu)list1.get(i);
}
不是add
是addAll(list2);方法用错了
不是add
是addAll(list2);方法用错了