jsp 中如何将sql查询结果以数组形式显示出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp 中如何将sql查询结果以数组形式显示出来相关的知识,希望对你有一定的参考价值。

JSP页面如何将sql 中的2列数据 列1和列2 转换成数组形式 其中data1是sql中列1 data2数据是列2的数据
data1: ['A','B','C','E','E']
data2: ['10','20','30','50','80']

参考技术A 保存到session中 。或者用forward();追问

菜鸟一枚  求具体的语句 当前是这样的 只能输出一列  而且中间没有‘’号分隔

参考技术B 查出来的结果用json封装,然后用jsonArray不就可以了么?追问

不太明白 已经解决了 谢谢

追答

好的,再接再厉,我说的方法是最常用的。

参考技术C 是要data1和data2组合成一个数组吗??追问

不是 要分别显示出2个数组来 一个数组显示sql的一列

追答

把代码贴出来吧

追问

追答

把out.print那一段换成下面的试试
for(String s:arr)
out.print(s);

追问

谢谢已经解决了下面是我的代码

如何将 SQL 查询结果发送到 jsp 页面?

【中文标题】如何将 SQL 查询结果发送到 jsp 页面?【英文标题】:How to send the SQL query results to a jsp page? 【发布时间】:2009-03-13 13:07:18 【问题描述】:

我有一个包含 id(number)、name(string)、address(string) 字段的数据库。

我编写了一个 java 程序 EmployeeDAO 来执行查询。我将它存储在 ResultSet 对象rs 中。我需要将此结果集显示为 JSP 页面中的表格。如何将此rs 发送到 JSP 页面?

public class EmployeeDAO 

    public _____ list() throws Exception
    
        try
        
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            String url = "jdbc:odbc:employee_dsn";
            Connection con = DriverManager.getConnection(url);
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("Select * from emp_table");
        
            catch (Exception e)
           
             System.out.println(e);
        
    

【问题讨论】:

【参考方案1】:

首先创建具有与 emp_table 中的列相同的字段的 Java 模型类 Employee。例如:

public class Employee 
  private String name;
  private String lastName;
  public void setName(String name) 
    this.name = name;
  
  public String getName() 
    return this.name;
  
  public String getLastName() 
    return this.lastName;
  
  public void setLastName(String lastName) 
    this.lastName = lastName;
  

然后在你的方法 _list() 中像这样迭代结果集:

public List<Employee> _ list() throws Exception 
     Connection con = null;
     ResultSet rs = null;
     List<Employee> result = new ArrayList<Employee>();
     try
       
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
         String url = "jdbc:odbc:employee_dsn";
         con = DriverManager.getConnection(url);
         Statement stmt = con.createStatement();
         rs = stmt.executeQuery("Select * from emp_table");
         while (rs.next()) 
           Employee emp = new Employee();
          emp.setName(rs.getString("emp_name"));
          emp.setLastName(rs.getString("emp_last_name"));
          result.add(emp);
         

        
        catch (Exception e)
               
            System.out.println(e);
         finally 
            if (null != rs) 
              try  rs.close() catch(Exception ex) ;
            
            if (null != con) 
              try  con.close() catch(Exception ex) ;
            
        
return result;
  

在您的 JSP 中,您可以像这样遍历集合:

<table>
  <c:forEach var="emp" items="$empDao._list">
    <tr>
      <td>$emp.name</td>
      <td>$emp.lastName</td>
    </tr>
  </c:forEach>
</table>

【讨论】:

【参考方案2】:

优雅的解决方案是将您的结果集映射到对象列表。查看 springs RowMapper 以了解如何处理此问题。

在您的 jsp 中,您可以使用 &lt;c:forEach/&gt; 循环来写出此列表。

【讨论】:

以上是关于jsp 中如何将sql查询结果以数组形式显示出来的主要内容,如果未能解决你的问题,请参考以下文章

如何将SQL查询结果存放到数组里面

我有多个 SQL 查询如何存储所有查询结果并以表格形式显示

如何用把Arraylist中的结果在jsp页面中用分页显示?java+jsp语言

oracle数据库对查询后的结果分页如何实现和jsp分页

将sql结果作为数组获取

怎样将数组作为Sql中IN的查询条件