java - 如何使用jSTL在jsp中以表格格式显示列表

标签 java list

我有 java 代码,其中我从数据库中检索数据并将其放入列表中。但是当我运行 jsp 页面时,数据以随机方式显示。我想以表格格式排列该数据。如何去做。 我的 java 代码是:

public List<String> alarm_Detail()

{

     String []alarm = null;
        try
        {  
          con = getConnection();

        stmt = con.createStatement();
        String sql= "select distinct * from i2alarmlog where Ack_status=0 AND Direction='CAME' ";
        stmt.executeQuery(sql);
        rs = stmt.getResultSet();

        while(rs.next()) 
        {

            lt.add(rs.getString("device_name"));

            lt.add(rs.getString("system_name"));

            lt.add(rs.getString("alert_text"));

            lt.add(rs.getString("arrival_time"));

            lt.add(rs.getString("ack_time"));

            lt.add(rs.getString("ack_status"));

        }



        }

        catch( Exception e )
        {
            System.out.println("\nException in Display Bean in getDbTable(String code):"+e);
        }
        finally
        {
            closeConnection(stmt, rs, con);
        }

        return lt;
}`

JSP 代码是:-

<jsp:useBean id="ab" class="alarm.Alarm_Bean">

</jsp:useBean>
<c:out value="${ab.alarm_Detail()}"></c:out>`

最佳答案

您应该创建一个 bean 类,其中包含您作为查询结果获得的所有参数,如下所示

class MyBean 
{
    private String device_name;
    private String system_name;
    private String alert_text;
    private String arrival_time;
    private String ack_time;
    private String ack_status;

    //Getter and Setter method
}  

现在使用这个 bean 类来存储您的数据。
为每个记录创建新的 bean 对象并将其添加到您的列表中。

List<MyBean> lt = new ArrayList<MyBean>(); 
while(rs.next()) 
{
    MyBean obj = new MyBean(); 

    //Set your recodrs using setter method.
    obj.setSystem_name(rs.getString("system_name"));
    obj.setArrival_time(rs.getString("arrival_time"));

    lt.add(obj);
}
//Return your list to JSP side  

现在使用这个 bean 列表并迭代它的 JSP 文件以创建表,如下所示:

<table>
   <tr>
      <th>Col1</th>
      <th>Col2</th>
      <!-- rest of you columns -->
   </tr>

   <c:forEach items="${beanListObj}" var="list">
     <tr>
         <td>${list.device_name}</td>
         <td>${list.system_name} - ${list.arrival_time}</td> // you can add values in one column
         <!-- rest of you columns data-->
     </tr>
   </c:forEach>

 </table>   

关于java - 如何使用jSTL在jsp中以表格格式显示列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27375213/

相关文章:

python - 为什么我不能修改作为函数内部参数传递的列表?

c# - 如何使用 C# 将项目添加到 foreach 循环中的列表

java itext捕获空异常pdf文本提取

java - 使用 PathIterator 返回约束一个区域的所有线段?

java - 将 Servlet 链接到选项卡菜单

java - 无法找到或加载主类错误

c# - 动态添加范围到列表

python - 如何在列表中换行?

c# - 创建只有一个类(class)成员的列表

java - 无法使用 Htmlunit 连接到使用 HTTPS 的网站