首先呢,get不能传对象啊。于是我先在后台声明JSONObject json =new JSONObject();然后调用json.put ()按k,v形式将集合放入,return json.toString();即可servlet的话就用out 流打出去。
二、ajax里面dataType:“json” 如果success 不要直接传data 这个data类似于将你传过去的list 封装了一波。
三、 var a= JSON.stringify(data.youList)我们将a拼接到href后面传送过去 这个时候如果用<c:Foreach items="${param.list}">遍历list 你会聚难受的发现, 他是遍历的list 对象中的每个属性值, 而不是遍历的对象。object.属性值还报错,因为这个逼是string类型不是对象(遍历的属性值).
没办法只能用类似于php的短标签的方法。
<%@page language="java" import="com.fuchanghai.mybatis.pojo.*"%>
<%@page language="java" import="net.sf.json.*"%>
上面两个page 开头的。第一个是我实体类的package
第二个是jsonArray方法的引入 注意别光引入不把jar下载下来
<% String a =request.getParameter("leaderList");
List<Employee> list2=(List<Employee>)JSONArray.toList(JSONArray.fromObject(a), Employee.class);for (int i=0;i<list2.size();i++){
%>
<option value=""><% out.print(list2.get(i).getSno()+"----"+list2.get(i).getSname());%></option>
<%}; %>
除了上面的方法。我们还可以在ajax 调用后台的时候。给ajax传个地址,然后success的时候根据这个地址调到后端。再把你想传输的值再这个后端放到model里面,最终跳转到你想跳转的地址