您的位置:首页 > 编程语言 > Java开发

Struts2中操作JSON

2015-08-01 21:05 661 查看
使用struts-json插件生成json数据

在maven中添加

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>

新建一个action

package com.zk.sample.example;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.Action;

public class JSONAction extends ExampleSupport {
public String execute(){
setName("Mary");
setAge(21);
setSchool("ZK");

hobby = new ArrayList<String>();
hobby.add("footboll");
hobby.add("volleyball");

setHobby(hobby);
return Action.SUCCESS;
}
private String name;
private int age;
private String school;
private List<String> hobby;

public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}

public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}

public void setSchool(String sch){
this.school = sch;
}
public String getSchool(){
return school;
}
public void setHobby(List<String> hobby){
this.hobby = hobby;
}
public List<String> getHobby(){
return hobby;
}
}


其实原理很简单,就是将数据暴露在stackvalues中,其他的事情就交给插件处理了

新建一个jsonaction专用的example.xml,命名可自已修改

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!--
- This file is included by the struts.xml file as an example
- of how to break up the configuration file into multiple files.
-->
<struts>
<package name="example" namespace="/example" extends="json-default">

<default-action-ref name="HelloWorld" />

<!-- Add additional "example" package actions here. -->
<action name="getJSONResult" class="com.zk.sample.example.JSONAction">
<result type="json" />
</action>
</package>
</struts>

注意的地方是要继承json-default

然后在struts.xml加入该子xml

<include file="example.xml"/>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: