ssm框架实现模糊查询的jsp文件写法
时间: 2023-06-27 17:07:14 浏览: 133
在 JSP 页面中,模糊查询通常使用表单提交的方式,在后台使用 SSM 框架的 MyBatis 实现数据库查询。以下是一个简单的示例:
1. 在 JSP 页面中,添加一个表单用于输入查询条件
```html
<form method="get" action="${pageContext.request.contextPath}/search">
<input type="text" name="keyword" placeholder="请输入关键词">
<button type="submit">查询</button>
</form>
```
2. 在后台的 Controller 中,获取前端传来的查询条件,并传递给 MyBatis 进行模糊查询
```java
@RequestMapping("/search")
public ModelAndView search(@RequestParam String keyword) {
List<User> userList = userService.searchUser(keyword);
ModelAndView mav = new ModelAndView("user-list");
mav.addObject("userList", userList);
return mav;
}
```
3. 在 Service 层中,调用 MyBatis 进行模糊查询
```java
public List<User> searchUser(String keyword) {
return userDao.searchUser("%" + keyword + "%");
}
```
4. 在 MyBatis 的 Mapper 文件中,编写模糊查询的 SQL 语句
```xml
<select id="searchUser" resultType="User">
SELECT * FROM user WHERE name LIKE #{keyword} OR email LIKE #{keyword}
</select>
```
注意,这里使用了 `#{}` 占位符,可以避免 SQL 注入的问题。同时,在查询条件的两端添加了 `%`,表示要进行模糊查询。
最后,在 JSP 页面中展示查询结果。可以使用 JSTL 标签库中的 `<c:forEach>` 标签遍历查询结果。
```html
<table>
<tr>
<th>姓名</th>
<th>邮箱</th>
<th>性别</th>
</tr>
<c:forEach var="user" items="${userList}">
<tr>
<td>${user.name}</td>
<td>${user.email}</td>
<td>${user.gender}</td>
</tr>
</c:forEach>
</table>
```
阅读全文