前端怎么获取ModelAndView 传的list集合
时间: 2024-02-12 22:07:08 浏览: 76
在前端获取ModelAndView传的list集合,需要将集合封装到JSON格式数据中,然后通过ajax异步请求获取数据。具体步骤如下:
1. 在Controller中将list集合转为JSON格式数据并放入ModelAndView中:
```java
List<String> list = new ArrayList<String>();
// 将list集合转为JSON格式数据
String jsonStr = JSON.toJSONString(list);
ModelAndView mav = new ModelAndView();
mav.addObject("data", jsonStr);
mav.setViewName("viewName");
```
2. 在前端页面中通过ajax异步请求获取数据:
```javascript
$.ajax({
url: "url",
type: "GET",
dataType: "json",
success: function(data) {
var list = JSON.parse(data.data); // 将JSON格式数据转为list集合
// 处理数据
},
error: function() {
alert("请求失败");
}
});
```
通过以上步骤,就可以在前端页面中获取到ModelAndView传的list集合了。
相关问题
前端传集合到后台,后台怎么接受
前端可以使用Ajax等技术将集合数据转换为JSON格式的数据并发送到后台。后台可以使用相应的后端框架(如SpringMVC、Express.js等)来接收JSON数据,并将其转换为集合对象。下面是一个Java SpringMVC框架的示例代码:
```
@RequestMapping(value = "/saveData", method = RequestMethod.POST)
public ModelAndView saveData(@RequestBody List<MyObject> myObjects) {
// 处理接收到的数据,进行相应的业务操作
return new ModelAndView("success");
}
```
在上面的代码中,@RequestBody注解表示将JSON格式的数据转换为Java对象,List<MyObject>表示接收一个MyObject类型的集合。通过这种方式,后台可以轻松地接收到前端传递的集合数据。
分页查询中,前端有多个查询条件,有飞机号,航班号,其中一个查询条件是班期,班期是个下拉框,里面可以同时选择1-7中的某几个数字,后端的实体类中应该用什么数据类型接收这3个查询条件,特别是班期应该用数组还是集合类型接收,并写出相对应的java代码
班期应该使用集合类型接收,因为班期可以同时选择多个数字,数组只能存储固定长度的数据。相应的Java代码可以如下:
```
public class FlightQuery {
private String flightNo; // 航班号
private String aircraftNo; // 飞机号
private List<Integer> schedules; // 班期,多选
/**
* getter & setter省略
*/
}
```
在controller中接收前端发送来的查询条件,可以如下编写代码:
```java
@RequestMapping("/flightQuery")
public ModelAndView flightQuery(FlightQuery query, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) {
ModelAndView mav = new ModelAndView();
// 调用service查询,返回PageInfo对象
PageInfo<Flight> pageInfo = flightService.queryByPage(query, pageNum, pageSize);
// 将PageInfo对象存入ModelAndView中,跳转到前端页面
mav.addObject("pageInfo", pageInfo);
mav.setViewName("flight/list");
return mav;
}
```
阅读全文