1. Get Dependency Library
Get the struts2-convention-plugin.jar, struts2-json-plugin.jar library.
pom.xml
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts-version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${struts-version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>${struts-version}</version>
</dependency>
2.web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. Action (JSON)
This is an Action class which will be converted into JSON format.To output the JSON data, you need to declared a @ParentPackage("json-default"), and result type as “json“.
package org.fool.action.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@Namespace("/")
@ParentPackage("json-default")
public class JSONDataAction extends ActionSupport {
private String string1 = "A";
private String[] stringarray1 = { "A1", "B1" };
private int number1 = 123456789;
private int[] numberarray1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
private List<String> list = new ArrayList<String>();
private Map<String, String> map = new HashMap<String, String>();
// no getter method, will not include in the JSON
@SuppressWarnings("unused")
private String string2 = "B";
@Action(value = "getJSONResult", results = { @Result(name = "success", type = "json") })
public String execute() throws Exception {
list.add("list1");
list.add("list2");
list.add("list3");
list.add("list4");
list.add("list5");
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", "value4");
map.put("key5", "value5");
return SUCCESS;
}
public String getString1() {
return string1;
}
public void setString1(String string1) {
this.string1 = string1;
}
public String[] getStringarray1() {
return stringarray1;
}
public void setStringarray1(String[] stringarray1) {
this.stringarray1 = stringarray1;
}
public int getNumber1() {
return number1;
}
public void setNumber1(int number1) {
this.number1 = number1;
}
public int[] getNumberarray1() {
return numberarray1;
}
public void setNumberarray1(int[] numberarray1) {
this.numberarray1 = numberarray1;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}
4. Demo result
Access the action URL, the JSONDataAction’s properties will be converted into JSON format.
http://localhost:8080/Struts2Json/getJSONResult.action
JSON Format
{
"list":["list1","list2","list3","list4","list5"],
"map":{"key4":"value4","key3":"value3","key5":"value5","key2":"value2","key1":"value1"},
"number1":123456789,
"numberarray1":[1,2,3,4,5,6,7,8,9],
"string1":"A",
"stringarray1":["A1","B1"]
}
- 大小: 21.9 KB
分享到:
相关推荐
struts2,json-plugin, 并全注解零配置
本Demo采用Struts2.1.8+Spring2.5.6(Annotation注解)+Hiberante3.3.2(Annotation注解)+ExtJS(Struts2-json)
本文档对利用struts2 注解 annotation 实现文件下载作了简单介绍,并有代码为例,希望对学习struts2注解annotation的人有帮助,特别是需要动态传参方面。
NULL 博文链接:https://vincenta.iteye.com/blog/1535330
1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...
struts2 使用Annotation配置实现的小例子,转载供大家学习使用,里面包括了所需的jar包
1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...
struts2 annotation 注解的详细介绍及使用方法
struts2-Annotation
博文链接:https://flym.iteye.com/blog/174358
马士兵视频里的struts2 hibernate3 spring2.5 annotation 整合 绝对好用 里面还有jar包 部署就可以用
spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置
参考博文:http://blog.csdn.net/u011638419/article/details/41743049
JsonAnnotation利用注解自动生成Gson‘s Model的库.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Spring MVC internationalization annotation example 这个是annotation 方式的国际化 访问http://localhost:8080/login.htm
用注解(annotation)方式配置struts2 (webwork) 中action的拦截器(interceptor)
Struts2 Spring Hibernate 框架整合 Annotation Maven project
Struts2中使用annotation实现零配置
Struts2 Spring Hibernate 框架整合 Annotation Maven project.zip
struts2 spring2.5 hibernate3.0 annotation 整合