请你写出完整示例,利用javaBean读取应用程序根目录下的文本文件equipments.txt生成设备信息列表,然后使用JSP程序片/表达式动态生成上方的设备表格(Table)。
时间: 2023-06-19 10:03:33 浏览: 101
以下是一个简单的示例,说明如何使用JavaBean读取文本文件并生成设备信息列表,并在JSP中使用JSTL和EL动态生成设备表格。
1. 设备类
首先,我们需要定义一个设备类,用于表示equipments.txt中的每一行数据。
```java
public class Equipment {
private String name;
private String type;
private int quantity;
// 构造器和getter/setter方法省略
}
```
2. JavaBean
接下来,我们创建一个JavaBean,用于读取equipments.txt文件并将每一行数据转换为一个Equipment对象。
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class EquipmentBean {
private List<Equipment> equipmentList;
public EquipmentBean() {
equipmentList = new ArrayList<>();
try {
String filePath = System.getProperty("user.dir") + "/equipments.txt";
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line;
while ((line = reader.readLine()) != null) {
String[] fields = line.split(",");
Equipment equipment = new Equipment(fields[0], fields[1], Integer.parseInt(fields[2]));
equipmentList.add(equipment);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public List<Equipment> getEquipmentList() {
return equipmentList;
}
}
```
3. JSP页面
最后,我们创建一个JSP页面,使用JSTL和EL动态生成设备表格。在JSP页面中引入EquipmentBean,然后使用<c:forEach>标签遍历设备列表,将每个设备对象的属性填充到表格中。
```jsp
<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>设备信息表</title>
</head>
<body>
<table>
<tr>
<th>设备名称</th>
<th>设备类型</th>
<th>数量</th>
</tr>
<c:forEach var="equipment" items="${equipmentBean.equipmentList}">
<tr>
<td>${equipment.name}</td>
<td>${equipment.type}</td>
<td>${equipment.quantity}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
在这个JSP页面中,我们使用${equipmentBean.equipmentList}表达式来引用EquipmentBean中的设备列表。然后使用<c:forEach>标签遍历设备列表,将每个设备对象的属性填充到表格中。
注意,这个示例假设equipments.txt文件位于应用程序的根目录下。如果文件不在根目录下,需要修改JavaBean中的文件路径。
阅读全文