JavaWeb JSP 页面用户名字输入后显示记录:入门示例
以下是使用 JavaWeb 和 JSP 在页面上实现用户名字输入后显示已输入的用户名字和数量的简单示例,适合入门学习。
index.jsp 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>记录用户名字和数量</title>
</head>
<body>
<h1>记录用户名字和数量</h1>
<form action="RecordUsernameServlet" method="post">
<label for="username">用户名字:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="quantity">数量:</label>
<input type="number" id="quantity" name="quantity" required><br><br>
<input type="submit" value="提交">
</form>
<h2>所有记录</h2>
<table>
<thead>
<tr>
<th>用户名字</th>
<th>数量</th>
</tr>
</thead>
<tbody>
<%-- 使用 JSP 标签库来循环显示所有记录 --%>
<c:forEach var="record" items="${records}">
<tr>
<td>${record.username}</td>
<td>${record.quantity}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
RecordUsernameServlet.java 文件:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class RecordUsernameServlet extends HttpServlet {
private static final List<Record> records = new ArrayList<>();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String quantityStr = request.getParameter("quantity");
int quantity = Integer.parseInt(quantityStr);
// 标记用于判断记录是否已存在
boolean exists = false;
for (Record record : records) {
if (record.getUsername().equals(username)) {
// 如果记录已存在,更新数量
record.setQuantity(quantity);
exists = true;
break;
}
}
if (!exists) {
// 如果记录不存在,创建新的记录对象并添加到列表中
Record record = new Record(username, quantity);
records.add(record);
}
// 将记录列表存储在请求属性中,以便在 JSP 页面中访问
request.setAttribute("records", records);
// 转发到 index.jsp 页面,显示所有记录
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
Record.java 文件:
public class Record {
private String username;
private int quantity;
public Record(String username, int quantity) {
this.username = username;
this.quantity = quantity;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
代码中使用了静态的 List records 来保存已输入的用户名字和数量记录。在 RecordUsernameServlet 的 doPost 方法中,获取用户名字和数量,判断是否已存在相同用户名字的记录,存在则更新数量,不存在则创建新的 Record 对象并添加到 records 列表。最后将 records 列表存储在请求属性中,并转发到 index.jsp 页面显示记录。
请确保将这些文件放置在正确的 JavaWeb 项目目录中,并配置 servlet 的映射。
这个简单的示例可以帮助您入门并在 JSP 页面中实现用户名字输入后显示记录的功能。如有更多问题,请随时提问。
原文地址: http://www.cveoy.top/t/topic/c2p4 著作权归作者所有。请勿转载和采集!