struts2使用json格式的交互

作者:操作系统

应用Struts2和jQuery EasyUI完成轻易CRUD系统(三)——ajax,struts2利用json格式的互相

继上篇:《使用Struts2和jQuery EasyUI完结轻巧CRUD系统(二)——ajax与struts2的相互影响》讲了这两边的竞相之后,接下去要透过json的格式实行传输数据。

 

这里有3中方法:

1、像上篇在最后说的方法,特定内容借使先转移成json格式后,再发送到页面,其实轻巧。

 

2、用ServletActionContext.getResponse(卡塔尔国.getWriter(卡塔尔.println(contentState of Qatar,content的源委为json格式也足以,然后return Action.NONE这种方法也是足以的。

 

3、使用struts的json插件。

准备好struts2-json-plugin-2.3.16.3.jar包。

 

再有json格式的改造类JSONObject包以致所急需的jar包:

自己须求:

图片 1

只是那部分和struts的包有双重去除掉重复部分就能够。

 

struts.xml中的

 

在付出的时候最棒去掉,叁个commons-lang的包忘记导入之后报了充裕跳转到error页面让自家向来就不知底哪儿出错恐怕报那多少个了。

 

 

实际官方文书档案有简要的例证:

 

首先是AjaxAction.java

 

package action;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;

public class AjaxAction implements Action{
 private String jsonresult;
 public String getJsonresult() {
  return jsonresult;
 }
 public void setJsonresult(String jsonresult) {
  this.jsonresult = jsonresult;
 }
 public String json() throws Exception {
  System.out.println(action execute);
  Map map = new HashMap();
  map.put(b,b);
  System.out.println(map);
  JSONObject json  = null;
  json = JSONObject.fromObject(map);
  System.out.println(json);
  jsonresult = json.toString();
  System.out.println(jsonresult);
  return SUCCESS;
 }
 @Override
 public String execute() throws Exception {
  return null;
 }
}

struts.xml中必要改进部分事物。原本的struts-default改为json-default

 

 

result 要求表明json的type。

 

 

  /hello.jsp

出口的结果

 

图片 2

 

规律是怎样的啊,再改一下AjaxAction。

 

package action;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;

public class AjaxAction implements Action{
 private String jsonresult;
 private String jsonsecond;
 private String jsonthird;

 public String json() throws Exception {
  System.out.println(action execute);
  Map map = new HashMap();
  map.put(b,b);
  System.out.println(map);
  JSONObject json  = null;
  json = JSONObject.fromObject(map);
  System.out.println(json);
  jsonresult = json.toString();
  System.out.println(jsonresult);
  return SUCCESS;
 }
 @Override
 public String execute() throws Exception {
  return null;
 }

 public String getJsonsecond() {
  return jsonsecond;
 }
 public void setJsonsecond(String jsonsecond) {
  this.jsonsecond = jsonsecond;
 }
 public String getJsonresult() {
  return jsonresult;
 }
 public void setJsonresult(String jsonresult) {
  this.jsonresult = jsonresult;
 }
}

先看输出结果:

 

图片 3

jsonsecond是null,jsonresult是json格式,竟然那多个都有,jsonthird为啥一直不,因为还未相对应的get和set方法结果,jsonsecond是null是因为从没赋值。

 

struts就像此帮您将宣示了的同一时间有着get、set方法的品质帮您输出了。

JSONObject帮您将map对象转变成json串。

 

何以转成json串,因为有一些前端要求特定的数据格式进行相互影响,比如前边写到的EasyUI。

 

有了前面两篇的根基,使用一下struts自带的插件还也会有JSONObject类就一下子就解决了了

ajax与struts直接收json数据交互作用的主题素材了。

 

EasyUI完成轻巧CRUD系统(三)——ajax,struts2行使json格式的互动继上篇:《使用Struts2和jQuery EasyUI实现简单CRUD系统(二)a...

本文由金冠53777-金冠娱乐53777-Welcome发布,转载请注明来源

关键词: