weixin_34181904 2017-05-19 08:41 采纳率: 0%
浏览 4008

struts2的action中得到一个对象数组,如何把它存入session并在jsp中迭代输出

action代码:
package org.action;
import java.util.*;
import javax.jms.Session;
import javax.servlet.http.HttpSession;
import org.model.*;
import org.dao.*;
import com.opensymphony.xwork2.*;
public class QueryAllStudent extends ActionSupport{
Student studentList[]=new Student[20];
public String execute() throws Exception{
QueryAllStudentDao qas=new QueryAllStudentDao();
studentList = qas.queryAllStudent();
System.out.println(studentList[0].getSname());
//System.out.println(studentList[1].getSno());
//System.out.println(studentList[2].getSname());
int a=5;
if(studentList!=null)
{

        Map session=ActionContext.getContext().getSession();
        for(int i=0;i<studentList.length;i++)
         { 

            session.put("studentlist",studentList[i]);
            session.put("index",a);
            System.out.println(session.toString());
             }
        return SUCCESS;

     }
     else{
         return ERROR;
     }
 }

}

Dao文件的代码:
package org.dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import org.model.*;
import org.db.*;
public class QueryAllStudentDao{
Connection conn;
public Student[] queryAllStudent(){
Student StudentList[]=new Student[20];
try {
conn=DBConn.getConn();
System.out.println(conn.isClosed());
PreparedStatement pstmt=conn.prepareStatement("select * from student");
ResultSet rs=pstmt.executeQuery();
rs.last();
int count=rs.getRow();
rs.first();
if(rs.next()){
rs.first();
for(int i=0;i<count;i++)
{ Student s=new Student();
s.setSname(rs.getString(1));
s.setSno(rs.getInt(2));
s.setSgender(rs.getString(3));
s.setJavaScore(rs.getInt(4));
s.setAndroidScore(rs.getInt(5));
s.setLinuxScore(rs.getInt(6));
s.setSavgscore(rs.getFloat(7));
s.setStotalscore(rs.getInt(8));
StudentList[i]=s;
rs.next();
//System.out.println(StudentList[i].getSname());
}
return StudentList;
}

        else{   
        return null;}
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }finally{
        DBConn.CloseConn();
    }
}

}

jsp内容:



以下为所查询信息:

学生学号 学生姓名 学生性别 Java成绩 Android成绩 Linux成绩 平均成绩 总分 操作处理
删除修改

返回主页

已经把resultset结果集返回到一个对象数组里,想把对象数组存到session中返回到jsp页面并且在jsp页面中输出对象数组中对象的各个属性....本来已经能够正常传值了...手贱改了点东西又重新来过了,求大神帮我看一下。。。查很久了,闹心

  • 写回答

2条回答

  • weixin_34181904 2017-05-19 08:47
    关注

    请忽略里面设置的一些变量....为了试试传值能不能成功设置的》。。求大神指点

    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)