第一种:使用配置文件
1>我们新建一个配置文件struts-ajax.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">
<struts>
<package name="ajax-json-plugin" extends="json-default">
<action name="employeeJson" class="com.kaishengit.action.AjaxAction">
<result name="success" type="json">
<param name="root">employeeList</param>
<param name="noCache">true</param>
<param name="enableGZIP">true</param>
<param name="excludeNullProperties">true</param>
</result>
</action>
</package>
</struts>
2>我们将此配置文件导入主配置文件struts.xml中
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<include file="struts-ajax.xml"></include>
<package name="myPackage" extends="struts-default">
</package>
</struts>
3>客户端index.jsp,我使用的是Jquery结合Json
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>json</title>
</head>
<body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get("employeeJson.action",function(json){
alert(json);
});
});
</script>
</body>
</html>
4>服务端代码
package com.kaishengit.action;
import java.util.ArrayList;
import java.util.List;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.beans.factory.annotation.Autowired;
import com.kaishengit.service.EmployeeService;
public class AjaxAction {
private EmployeeService employeeService;
private List<Employee> employeeList;
public String execute(){
employeeList = employeeService.findAllByJson();
return "success";
}
public List<Employee> getEmployeeList() {
return employeeList;
}
public void setEmployeeList(List<Employee> employeeList) {
this.employeeList = employeeList;
}
@Autowired
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
}
这样就ok啦
第二种:使用annotation(注解)
1>我们新建一个配置文件struts-ajax.xml,把其中Action节点去除
<?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">
<struts>
<package name="ajax-json-plugin" extends="json-default"/>
</struts>
2>我们将此配置文件导入主配置文件struts.xml中(跟第一种一样)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<include file="struts-ajax.xml"></include>
<package name="myPackage" extends="struts-default">
</package>
</struts>
3>客户端index.jsp,我使用的是Jquery结合Json(跟第一种一样)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>json</title>
</head>
<body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get("employeeJson.action",function(json){
alert(json);
});
});
</script>
</body>
</html>
4>服务端代码,使用annotation(注解)
package com.kaishengit.action;
import java.util.ArrayList;
import java.util.List;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.beans.factory.annotation.Autowired;
import com.kaishengit.service.EmployeeService;
@ParentPackage(value="ajax-json-plugin")
public class AjaxAction {
private EmployeeService employeeService;
private List<Employee> employeeList;
@Action(value="employeeJson",results={@Result(name="success",params={"root","employeeList","noCache","true","enableGZIP","true","excludeNullProperties","true"},type="json")})
public String execute(){
employeeList = employeeService.findAllByJson();
return "success";
}
public List<Employee> getEmployeeList() {
return employeeList;
}
public void setEmployeeList(List<Employee> employeeList) {
this.employeeList = employeeList;
}
@Autowired
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
}
ok!
分享到:
相关推荐
使用Struts2 JSON插件的步骤大致如下: 1. **添加依赖**:将对应的jar文件添加到项目的类路径中。 2. **配置struts.xml**:在配置文件中声明JSON插件,并指定需要返回JSON的Action。 3. **Action类和结果**:在...
Struts2 JSON插件的安装与配置是使用其功能的第一步。首先,你需要将struts2-json-plugin相关的JAR文件添加到项目的类路径中。然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml ...
下面我们将详细探讨Struts 2的JSON支持以及如何配置和使用JSON插件。 1. **JSON插件的安装** - JSON插件通常作为一个独立的JAR文件提供,比如`struts2-json-plugin-x.x.x.jar`,你需要将其添加到项目的类路径中。 ...
在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...
struts2.1.8 json 插件,官网上本来是有的,放在这里为大家方便下载。
在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...
Struts2 JSON是一个在Java开发中广泛使用的框架,它允许开发者在Struts2应用程序中方便地处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
具体来说,插件中的`struts-plugin.xml`配置文件定义了一个名为`json-default`的包,其中包含了`JSONResult`和`JSONInterceptor`两种结果类型和拦截器,它们是处理JSON数据的核心组件。 #### 2. 配置Struts2的XML...
在Struts2中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于前后端交互,使得数据传输更加高效。本知识点主要围绕Struts2.5操作JSON的相关jar包进行详细介绍。 首先,`json包和...
struts2-json-plugin,Struts JSON插件
本文介绍了如何使用Struts2的JSON插件处理JSON数据。通过不同的配置选项和示例,读者可以了解到如何灵活地控制返回的JSON数据格式。无论是使用XML配置还是注解方式,Struts2都提供了丰富的选项来满足不同的需求。...
在这个主题中,“struts2乱码与json插件”主要关注两个方面:字符编码问题和JSON数据交互。 **字符编码问题** 在开发web应用时,乱码问题经常出现,尤其是在处理用户输入或显示非ASCII字符时。Struts2框架默认使用...
在Struts2中,JSON(JavaScript Object Notation)插件是实现前后端数据交互的重要工具,尤其在当今Web开发中,JSON由于其轻量级、易读性强的特点,被广泛用于API接口的数据传输。这篇博客将深入讲解Struts2的JSON...
这可以实现struts和json的整合 <struts> <package name="demo" extends="json-default"> <result type="json"/> </action> </struts>
9. **版本兼容性**:确保使用的Struts2版本和JSON插件版本兼容,避免出现不兼容的问题。 以上就是关于Struts整合JSON的基本知识点,通过这些步骤,开发者可以让Struts2应用能够便捷地与客户端进行JSON数据的交互,...
如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。... Struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串;2.使用Struts2对JSON的扩展。
5. **Action与模型驱动**:如果Action使用模型驱动模式,那么JSON插件可以直接将Action的Model对象转换为JSON,无需手动设置每个属性。 6. **类型转换**:Struts2的类型转换器在处理JSON请求时起着关键作用,将JSON...
在Struts2中使用JSON,有两个关键的JAR包是必不可少的,这些正是`struts2-json-plugin-2.2.1.jar`和`json-lib-2.3-jdk15.jar`。 首先,`struts2-json-plugin-2.2.1.jar`是Struts2 JSON插件的实现库。这个插件为...
这个插件允许开发者在Struts 2中轻松地创建能够返回JSON的Action,使得前端(通常使用JavaScript库如jQuery)可以获取到JSON数据并进行进一步处理。 现在我们来详细讨论这两个库在实际应用中的作用: 1. **json-...
本实例将详细介绍如何在Struts2项目中配置并使用JSON插件,以及如何创建一个简单的JSON响应。 首先,我们需要在Struts2项目的`struts.xml`配置文件中启用JSON插件。这通常涉及到以下几个步骤: 1. 引入插件依赖:...