使用jsp写一个用户查询的页面
时间: 2024-12-17 15:53:47 浏览: 15
在JSP(JavaServer Pages)中创建用户查询页面,通常会结合Servlet或者JavaBean来处理数据交互。以下是一个基本的步骤:
1. **布局HTML部分**:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>用户查询</title>
</head>
<body>
<h1>用户查询表单</h1>
<form action="UserQueryServlet" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<button type="submit">查询</button>
</form>
</body>
</html>
```
这里创建了一个简单的表单,用于输入用户名并提交到名为`UserQueryServlet`的Servlet。
2. **定义JSP页面的脚本标签(Scriptlet)或EL表达式**:
```jsp
<%
String username = request.getParameter("username"); // 获取从表单提交的用户名
%>
```
这部分用于获取前端提交的查询条件。
3. **编写后台处理逻辑 (Servlet)**:
在名为`UserQueryServlet.java`的Servlet中,读取用户输入,查询数据库,然后将结果返回给JSP。例如,如果使用JDBC连接数据库:
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class UserQueryServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
// 连接数据库、执行SQL查询...
// 假设查询结果存储在List<User> users中
request.setAttribute("users", users); // 将查询结果放入请求上下文
request.getRequestDispatcher("query_result.jsp").forward(request, response);
}
}
```
4. **显示查询结果 (query_result.jsp)**:
```jsp
<%@ include file="/WEB-INF/views/common.jsp" %> <!-- 引入公用脚本 -->
<h2>查询结果:</h2>
<table border="1">
<tr>
<th>用户名</th>
<!-- 其他字段列名... -->
</tr>
<%@ rowtag tagname="row" %> <!-- 自定义rowtag,简化遍历 -->
<c:forEach var="user" items="${users}">
<tr><row user="${user}" /></tr>
</c:forEach>
</table>
```
这只是一个基础示例,实际项目可能需要更复杂的错误处理和界面渲染。
阅读全文