jsp搜索框模糊查询
时间: 2024-02-10 14:08:14 浏览: 62
在JSP页面中实现模糊查询的步骤如下:
1. 在JSP页面中创建一个搜索框,用户可以在搜索框中输入关键字。
2. 当用户点击搜索按钮时,将关键字发送到后台的Servlet。
3. 在Servlet中获取用户输入的关键字。
4. 将关键字进行拼接,添加通配符%,以便进行模糊查询。
5. 调用Dao层的方法,将拼接后的关键字传递给数据库进行查询。
6. 将查询结果保存在一个List集合中。
7. 将List集合通过setAttribute()方法保存在request对象中,以便在JSP页面中使用。
8. 使用EL表达式在JSP页面中获取保存在request对象中的List集合,并依次取出用户信息进行显示。
以下是一个示例代码:
```jsp
<!-- JSP页面的搜索框 -->
<form action="UserServlet" method="GET">
<input type="text" name="keywords" placeholder="请输入关键字">
<input type="submit" value="搜索">
</form>
```
```java
// UserServlet.java
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户输入的关键字
String keywords = request.getParameter("keywords");
// 将关键字进行拼接
String like_keywords = "%" + keywords + "%";
// 调用Dao层的方法,进行模糊查询
List<User> userList = userDao.selectWithLike(like_keywords);
// 将查询结果保存在request对象中
request.setAttribute("userList", userList);
// 请求转发到userlist页面
RequestDispatcher dispatcher = request.getRequestDispatcher("userlist.jsp");
dispatcher.forward(request, response);
}
}
```
```jsp
<!-- userlist.jsp -->
<%-- 使用EL表达式获取保存在request对象中的List集合,并依次取出用户信息进行显示 --%>
<c:forEach items="${userList}" var="user">
<p>${user.name}</p>
<p>${user.age}</p>
<p>${user.email}</p>
</c:forEach>
```