java vue框架 html页面获取session中的数据完整版
时间: 2023-09-06 08:14:16 浏览: 117
首先,在你的 Java 代码中,需要将需要传递给前端的数据存储在 Session 中,例如:
```java
HttpSession session = request.getSession();
session.setAttribute("username", "张三");
```
然后,在你的 Vue 组件中,可以使用 Axios 等 HTTP 库向后端发送请求,获取 Session 中的数据,例如:
```javascript
import axios from 'axios'
export default {
data () {
return {
username: ''
}
},
mounted () {
axios.get('/getSessionData')
.then(response => {
this.username = response.data.username
})
.catch(error => {
console.log(error)
})
}
}
```
在这个例子中,我们向后端发送一个 GET 请求,获取 `/getSessionData` 路径的数据,然后将返回的数据中的 `username` 属性赋值给 Vue 组件的 `username` 属性。
最后,在你的 Java 代码中,需要编写一个响应 `/getSessionData` 路径的方法,例如:
```java
@RequestMapping("/getSessionData")
@ResponseBody
public Map<String, Object> getSessionData(HttpServletRequest request) {
HttpSession session = request.getSession();
String username = (String) session.getAttribute("username");
Map<String, Object> responseData = new HashMap<>();
responseData.put("username", username);
return responseData;
}
```
在这个例子中,我们使用 `@RequestMapping` 注解指定响应 `/getSessionData` 路径的方法,使用 `@ResponseBody` 注解将返回值转换为 JSON 格式,然后从 Session 中获取 `username` 属性,并将其存储在一个 Map 中返回给前端。
阅读全文