我有 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/