本文主要是在java中用json与前台Ajax数据交互
1、首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对应"number":"V006"。
$.ajax({
type: "post",
url:'apply/mystudent.action?',
cache: false,
dataType : "json",
success: function(data){
$.each(data, function(commentIndex, comment){
alert("姓名"+ comment['names']);
alert("学号"+comment['number']);
});
}
});
2、Ajax的URL指向在java的action中mystudent方法,返回的list其实是一个对象Student,包括了names和nunmber字段
public String mystudent() throws Exception{
List list=priceService.query();//调用接口实现类
this.jsonUtil(list);
return null;
}
3、action页面专门写一个方法jsonUtil来做为json方法
// 调用json工具方法,站群,传入参数alist
public void jsonUtil(Object accountlist) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
log.info("JSON格式:" + accountlist.toString());
String returnJson = JsonConvert.returnJson(accountlist);
response.setCharacterEncoding("utf-8");
response.getWriter().println(returnJson);
}
4、我用的是一种比较新的json包jackson
import java.io.StringWriter;
import org.codehaus.jackson.map.ObjectMapper;
public class JsonConvert {
static String jsonStr;
public static String returnJson(Object object) throws Exception{
ObjectMapper objectMapper = new ObjectMapper();
StringWriter stringWriter = new StringWriter();
objectMapper.writeValue(stringWriter, object);
jsonStr = stringWriter.toString();
return jsonStr;
}
}
相关报道:
刚好一个月之前由于本站经营了一年后还是没有什么流量,于是本人就怀疑是不是我的网站的主题有问题,以前做的是女性娱乐类的网站,但就目前来说这样的网站实在太多了,竞争十分激烈。因此我就把网站改版为现在,这次改版可以说是彻底的改版,不管是内容还是 更多
观察者模式。多个观察者可以同时监听同一个主题,当主题有状态变更时,会通知所有的观察者进行更新。 更多