使用struts2从后台向前台传送json数据的处理
问题:
使用struts2从后台向前台传送json数据的处理
解决:
(1)在struts2需要处理数据的action类中写方法:
private void response(Object message) {
try {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.print(message);
out.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
(2)在action中处理数据的业务方法中:
JSONObject json = new JSONObject();
json.put("flag","true");
this.response(json);
(3)在前台页面js中可以使用ajax请求:
$.ajax({
type: "POST",
url : url,
data: eval("({'month':'201105'})"),
dataType :'json',
success:function(msg){
alert(msg.flag);
}
});
这样就可以获得后台处理之后返回给前台页面的数据了。