现在发现有两个方法:
(1)将List转化为JSON字符串,通过ajax传递到后台。
(2)蒋list放置在session会话里面,jsp页面编写。
<% session.setAttribute("listName",listName) %>。
java后台通过List listName=request.getsession.getAttribute("listName")获取;
(通过request.setAttribute()不能传递到后台,因为他们不在同一个请求里)
有很多种方式的 前提是这个list只能在返回的jsp页面去获取,不可以在单独的js文件中获取,除非是使用ajax请求返回的list。
首先可以用EL表达式去获取Controller或Action返回的list,代码如下。
var list = ${list};。
如果你使用了status的话 也可以用s标签获取。
也可以使用ajax去异步获取。
什么接口?
spring mvc的接口这种返回一般是个map,把list放在map里返回。
list里的值直接list.add添加进去。
可以使用三种方式,用json接收一个list,方法如下:
1、使用org.json.JSONArray包:
JSONArray json = new JSONArray();。
for(User u : list){。
JSONObject jo = new JSONObject();。
jo.put("id", u.getId());。
jo.put("title", u.getName());。
json.put(jo);。
}
2、使用net.sf.json包下JSONArray的静态方法:fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:
JSONArray json = JSONArray.fromObject(list);
3、使用google的gson,将list转为json字符串:
Gson gson = new Gson(); 。
String str = gson.toJson(list);。
1、使用form表单提交
但是这里要记得添加enctype属性,这个属性是指定form表单在向服务器提交之前,对表单数据如何进行编码。 文件域中的name="file"属性的值,需要和后台接收的对象名一致,不然接收不到。
2、使用ajax提交文件
使用ajax提交首先引入jquery-form.js文件才能实现,接着使用上面的html代码,加入以js则可以实现ajax提交文件。
3、使用FormData对象
4、后台接收文件,框架采用的Spring Boot 微服务框架,因为该框架搭建很方便所以采用这个框架写例子。