AJAX+Struts+json简单的实例

前端之家收集整理的这篇文章主要介绍了AJAX+Struts+json简单的实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

导入那些包就不说了,之前好奇怪的问题是 我在Action里面的方法返回只有return null;才能正确的执行success回调,

Action里面

public String Fill() throws IOException {
// 取值
HttpServletResponse response = getResponse();
// 设置返回类型
response.setContentType("application/json; charset=utf-8");
PrintWriter writer = response.getWriter();
// 获取数据
list = service.excuteSelect("PProduct");
//json数组
JSONArray json = new JSONArray();
JSONObject jo = new JSONObject();
//list转为json
try {
for (int j = 0; j < list.size(); j++) {
PProduct m = (PProduct) list.get(j);


jo.put("name",m.getName());
json.add(jo);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


// System.out.println(json.toString() );


writer.print(json);
//缺少下面两句就error 要关闭
writer.flush();
writer.close();
return SUCCESS;
}

struts.xml正常配置就OK

ajax如下:

$.ajax({
url:"materialInfo!Fill.action",
type:"post",
dataType:"json",
success:function(data){
for(var i = 1;i<data.length;i++)//从1开始 因为第一行的数据 不是需要的
{$("#materialName").append('<option value="'+data[i].name+'">'+data[i].name+'</option>')};
$("#materialName").selectBox();//渲染下拉咧

},
error:function()
{
alert("数据获取失败 请重试");
}
});

JSP如下:

<select id="materialName" autoWidth="true"> </select>

猜你在找的Ajax相关文章