Struts2返回Json数据(使用Struts2插件)

本篇文章主要讲解Struts2返回Json数据(使用Struts2插件),通过本文您将了解到Struts2,Json,浏览的相关内容,希望对大家有所帮助。

这篇我将介绍如何使用Struts2的struts2-json-plugin.jar插件返回JSON数据。

 

一、其中主要步骤有:

1.将struts2-json-plugin.jar插件拷贝到项目的"/WEB-INF/lib"文件夹下;

2.编写Action类文件;

3.在struts.xml文件中配置这个Action,这个Action所在的"<package.../>"必须继承”json-default“,Action的Result类型为json,即type="json",而且不对应任何视图资源。

 

二、示例代码:

Action类文件:

package com.example.action;

import java.util.ArrayList;

import com.opensymphony.xwork2.ActionSupport;

public class StrutsJsonAction extends ActionSupport {
    private int i=123;
    private String str="str";
    private int[] array={1,2,3};
    private ArrayList<String> list;
    
    public int getI() {
        return i;
    }
    public void setI(int i) {
        this.i = i;
    }
    public String getStr() {
        return str;
    }
    public void setStr(String str) {
        this.str = str;
    }
    public int[] getArray() {
        return array;
    }
    public void setArray(int[] array) {
        this.array = array;
    }
    public ArrayList<String> getList() {
        return list;
    }
    public void setList(ArrayList<String> list) {
        this.list = list;
    }
    public String execute(){
        list = new ArrayList<String>();
        list.add("red");
        list.add("green");
        list.add("yellow");
        return SUCCESS;
    }
}

 

struts.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="json-example" namespace="/" extends="json-default">
        <action name="JSONExample" class="com.example.action.StrutsJsonAction">
            <result name="success" type="json"/>
        </action>
    </package>
</struts>    

然后在浏览器中访问"http://localhost:8080/Struts2_JSON/JSONExample",显示结果如图:

Struts2返回Json数据(使用Struts2插件)

JSON插件会将所有可序列化Action属性序列化为JSON数据。

 

三、配置JSON类型的Result:

序列化包含的属性:

<result type="json">
  <!-- 是否取消浏览器缓存-->
  <param name="noCache">true</param>
  <!-- 设置服务器响应类型-->
  <param name="contentType">application/json</param>
  <!-- 匹配的表达式属性名都会被序列化-->
  <param name="includeProperties">i,str</param>
 </result>

 

只序列化指定的Action属性:

<result type="json">
   <!-- 是否取消浏览器缓存-->
   <param name="noCache">true</param>
   <!-- 设置服务器响应类型-->
   <param name="contentType">application/json</param>
   <!-- 只序列化Action内指定的属性-->
  <param name="root">list</param>
</result>

 

以上关于Struts2返回Json数据(使用Struts2插件)的文章就到此为止,文章来自网络,请大家参考。

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: