为什么明明只获取了两个字段 可是显示了一大堆数据 而且获取length是一千多条长度,
哪位大神帮我看看 怎么修改
首先,你后台传递的参数material是个Material对象的List,但是你的js里面是这样获取的:
var material = '<%= xxx %>';
这样写相当于:
var material = '<%= xxx.toString() %>';
也就是说,你想在js获取到的是对象数组,但是你实际拿到的是string,console里log的1074是字符串的长度。
你需要这样写:
<% java.util.List materials = (java.util.List) request.getAttribute("material");
for (int i = 0; i <= materials.size(); i++) {
%>
<%=materials.get(i) %>
<% } %>
好久没写这东西了,可能写的不对,不过你应该明白问题出在哪里了吧
您好,我用springMVC4.0时间不长,做过两个小型项目,你在前台取应该利用model这个对象,例如model.addAttribute("emp", empBack );在前台用el表达式直接取值
在前台这样取值的,
java里面:
public HttpServletRequest test1(HttpServletRequest request){
Listlist=new ArrayList();
list.add("星期一");
list.add("星期二");
list.add("星期三");
list.add("星期四");
list.add("星期五");
list.add("星期六");
request.setAttribute("list", list);
return request;
}
js里面
<%
Demo demo=new Demo();·
demo.test1(request);
%>
material[i].materialCode就可以了 你多加了一个material
是你读取的返回的json数据的问题 ,你把返回的数据格式 写清楚
你返回的数据也不对 ,你需要把存放在作用域的对象数据转换成json数据
@ResponseBody //加在你的方法上面
public String index(){ //
return productService.getMaterial();
}
$.ajax(url: ,success: function(data){}
var obj= $.parseJSON(data);
$.each(data.metrial,function(){ var select=$("#selectMeterail"); var option=$( "<option>"+你想要的值+"</option>");select.append(option); })
)
$("#meterialSelect").click(function(){
});