model.addAttribute后在页面怎么调用js
时间: 2023-05-30 15:06:55 浏览: 58
首先,在页面中引入需要调用的JS文件,可以使用以下方式:
```html
<script src="path/to/your/js/file.js"></script>
```
然后,在需要调用JS的地方,使用以下方式调用:
```html
<script>
// 在这里编写你的JS代码
</script>
```
如果需要传递后端传递过来的数据给JS,可以在JSP页面中使用以下方式:
```html
<script>
// 在这里使用EL表达式获取后端传递过来的数据
var data = ${data};
// 在这里编写需要调用的JS代码,使用data变量来操作传递过来的数据
</script>
```
其中,`${data}`是EL表达式,用于获取后端传递过来的数据,并将其赋值给JS变量`data`。在JS代码中,可以使用`data`变量来操作传递过来的数据。
相关问题
model.addAttribute后在js中怎么调用
在js中调用model.addAttribute的值,需要将值先存储在HTML页面的某个元素中,然后再通过js获取该元素的值。具体步骤如下:
1. 在HTML页面中,使用Thymeleaf将model.addAttribute的值存储在某个元素中,例如:
```
<div id="myValue" th:text="${myValue}"></div>
```
2. 在js中,获取该元素的值,例如:
```
var myValue = document.getElementById("myValue").innerHTML;
```
这样就可以在js中调用model.addAttribute的值了。需要注意的是,如果model.addAttribute的值是一个对象或数组,需要先将其转换为JSON格式,然后再存储在HTML页面的某个元素中,例如:
```
<script th:inline="javascript">
var myObject = /*[[ ${#jsonStringify(myObject)} ]]*/ '{}';
</script>
<div id="myObject" th:text="${#jsonStringify(myObject)}"></div>
```
然后在js中获取该元素的值,再将其转换为对象或数组,例如:
```
var myObjectJson = document.getElementById("myObject").innerHTML;
var myObject = JSON.parse(myObjectJson);
```
我使用 MySQL 创建了一个用户表TbUser,并且使用@GetMapping("/deleteListUsers") public String deleteListUsers(@RequestParam(defaultValue = "1") int pageNum, Model model) { Page<TbUser> page = tbUserService.findUsers(pageNum); List<TbUser> userList = page.getContent(); model.addAttribute("userList", userList); model.addAttribute("currentPage", pageNum); model.addAttribute("totalPages", page.getTotalPages()); return "management/user-delete"完成了用户查询功能,查询的结果返回了user-delete.html,请帮我完成根据用户ID删除单个用户的功能,包含DAO、Controller、Entity、Service,使用JavaScrip添加删除的提示功能
好的,我来帮你完成这个功能。
首先,我们需要创建一个用于操作 TbUser 表的 DAO 接口,可以定义如下:
```java
public interface TbUserDao {
void save(TbUser user);
void delete(Long id);
TbUser findById(Long id);
List<TbUser> findAll();
Page<TbUser> findByPage(int pageNum, int pageSize);
}
```
然后,我们需要创建一个 TbUser 实体类,可以定义如下:
```java
@Entity
@Table(name = "tb_user")
public class TbUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
private String email;
// 省略 getter 和 setter
}
```
接下来,我们需要创建一个 TbUserService,用于操作 TbUser 表,可以定义如下:
```java
@Service
public class TbUserService {
@Autowired
private TbUserDao tbUserDao;
public void save(TbUser user) {
tbUserDao.save(user);
}
public void delete(Long id) {
TbUser user = tbUserDao.findById(id);
if (user != null) {
tbUserDao.delete(id);
}
}
public TbUser findById(Long id) {
return tbUserDao.findById(id);
}
public List<TbUser> findAll() {
return tbUserDao.findAll();
}
public Page<TbUser> findUsers(int pageNum) {
int pageSize = 10; // 每页显示10条数据
return tbUserDao.findByPage(pageNum, pageSize);
}
}
```
最后,我们需要创建一个 UserController,用于接收前端请求,并调用 TbUserService 完成相应的操作,可以定义如下:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private TbUserService tbUserService;
@GetMapping("/list")
public String listUsers(@RequestParam(defaultValue = "1") int pageNum, Model model) {
Page<TbUser> page = tbUserService.findUsers(pageNum);
List<TbUser> userList = page.getContent();
model.addAttribute("userList", userList);
model.addAttribute("currentPage", pageNum);
model.addAttribute("totalPages", page.getTotalPages());
return "management/user-list";
}
@GetMapping("/delete/{id}")
public String deleteUser(@PathVariable("id") Long id) {
tbUserService.delete(id);
return "redirect:/user/list";
}
}
```
最后,我们需要在前端页面添加一个 JavaScript,用于在删除用户时进行提示,可以定义如下:
```javascript
function deleteUser(id) {
if (confirm("确定要删除该用户吗?")) {
window.location.href = "/user/delete/" + id;
}
}
```
在前端页面中调用这个函数即可,例如:
```html
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>邮箱</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.username}"></td>
<td th:text="${user.email}"></td>
<td>
<a th:href="@{/user/delete/{id}(id=${user.id})}" onclick="deleteUser(${user.id})">删除</a>
</td>
</tr>
</tbody>
</table>
```
希望这个答案能够帮到你!