`
jerryzxm
  • 浏览: 48505 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

struts2 前端向后端传送复杂对象/JSON

 
阅读更多

javascript方法: JSON.stringify(jsonObj), 将JSON对象转为字符串

 

 

项目中需要将复杂的对象从前端传到后端, 通过struts2的拦截器, 直接转换注入到action的属性中

比如 private List<Bean> test;

 

当然可以将data写成:

 

{	"test[0].note":"note a", "test[0].username":"username a",
	"test[1].note":"note b", "test[1].username":"username b"
}
 

 

直接将obj做为data传给$.ajax不行, struts2没配置json拦截器也不行

 

javascript:

var jsonObj = {
	"test":
		[{"note":"note a", "username":"username a"}, 
		 {"note":"note b", "username":"username b"}
		]
};
var str = JSON.stringify(jsonObj);
//console.log("result: "+str);
$.ajax({
	url: "input.action",
	contentType: 'application/json',
	data: str,
	type: "post",
	datatype: "json",
	success: function(data){
		console.log(data);
	}
});
  

bean:

public class Bean{
	private String note;
	private String username;
	//getter and setter
}

 

action:

public class TestAction extends BaseAction{
	private List<Bean> test;
	public List<Bean> getTest() {
		return test;
	}
	public void setTest(List<Bean> test) {
		this.test = test;
	}

	public String input(){
		System.out.println(test);
		for(Bean bean: test){
			System.out.println(bean.getNote());
		}
		return SUCCESS;
	}
}

 

 

struts2:

<package name="test" namespace="/test" extends="json-default">
	<interceptors>
		<interceptor-stack name="def">
			<interceptor-ref name="defaultStack"></interceptor-ref>
			<interceptor-ref name="json"></interceptor-ref>
		</interceptor-stack>
	</interceptors>
	<default-interceptor-ref name="def"></default-interceptor-ref>
		
	<action name="input" class="testAction" method="input">
		<result type="json"></result>
	</action>
</package>
spring配置省略
分享到:
评论

相关推荐

    AJAX和struts2传递JSON数组

    总结来说,通过这种方式,我们可以利用AJAX向Struts2 Action传递JSON数组,实现异步数据交互。这在动态更新页面内容、处理表单提交等场景下非常有用。同时,使用JSON作为数据交换格式,使得前后端的数据交换变得更加...

    struts2+json

    当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给前端。 接着,我们讨论AJAX。AJAX是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。在本资源中,...

    jquery的ajax传json对象数组到struts2的action

    本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    struts2与json整合

    例如,在前端使用jQuery等库发起AJAX请求,获取或发送JSON格式的数据,而在后端,Struts2框架则能够无缝处理这些JSON数据,从而构建出响应迅速、用户体验优秀的Web应用。 综上所述,Struts2与JSON的整合不仅提升了...

    AJAX 想Struts2后台传送Json数据并向前台返回Json格式的数据

    通过JavaScript(通常是jQuery库)创建异步请求,我们可以向Struts2 Action发送JSON数据,同时接收返回的JSON数据。例如,使用jQuery的`$.ajax`或`$.getJSON`方法,构建一个请求,将JSON对象作为数据发送,并设置...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    结合这三个组件,开发者可以构建出响应式、动态的Web应用,后端使用Struts 2处理业务逻辑,通过JSON Plugin返回JSON数据,前端利用jQuery通过AJAX请求获取这些数据,然后动态更新页面,提高用户体验。这种前后端分离...

    Struts2返回JSON对象.doc

    在Struts2框架中,返回JSON对象是一种常见的数据传输方式,特别是在前后端分离的开发模式下。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。以下将...

    使用Struts2的JSON插件来实现JSON数据传递

    然而,Struts2 JSON插件还提供了许多高级特性,如自定义JSON序列化策略、处理复杂类型、支持国际化等。在实际开发中,你可以根据项目需求灵活运用这些特性,提高开发效率并优化应用性能。 总的来说,Struts2的JSON...

    struts2返回JSON数据的两种方式

    在Struts2的Action类中,通过`HttpServletResponse`对象的`getWriter().print()`方法直接写入JSON字符串。这里创建了一个`JSONObject`和`JSONArray`,并将数据转换成字符串返回。注意,Action方法的返回类型应设为`...

    ajax+servlet/struts/json

    Struts2提供了一些内置的支持来处理Ajax请求,例如使用`.struts2-json-plugin`,它可以自动将Action结果转换为JSON格式,便于前端解析。 Struts处理Ajax请求的方式多种多样,包括使用`@Action`注解指定Ajax动作,...

    json2+jsonplugin struts2整合ajax时,使用json时需要的jar包

    在Struts2与Ajax的交互中,后端返回的JSON数据需要在前端被`json2.js`解析成可操作的对象,这样才能在页面上动态更新内容。 接下来,我们讨论Struts2的`jsonplugin`。Struts2 JSON插件是官方提供的一个扩展,它使...

    struts2 json传输对象文档+jar包

    标题提到的"struts2 json传输对象文档"是指Struts2支持JSON格式的数据传输,使得Action类可以直接返回JSON对象,以便在客户端进行处理。这种功能极大地提高了Web应用的响应速度和用户体验,因为可以避免不必要的页面...

    struts2+jquery执行ajax并返回json类型数据(源码)

    在这个"struts2+jquery执行ajax并返回json类型数据"的示例中,我们将探讨如何通过Ajax技术在后台Struts2框架与前端jQuery库之间交换JSON格式的数据。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,...

    struts2-json-lib

    在Struts2框架中整合JSON,可以让应用更好地支持RESTful服务,使得前端与后端之间的交互更为便捷。为了实现这一整合,我们需要一些特定的库或jar包。"struts2-json-lib"压缩包就是为了满足这个需求而提供的,它包含...

    整合jquery+json+struts2异步提交实例

    在这个实例中,“整合jquery+json+struts2异步提交”是一个典型的前端与后端交互的示例,利用了jQuery的Ajax功能和Struts2框架处理JSON数据。下面我们将详细探讨这些技术及其相互配合的工作原理。 **jQuery** 是一...

    struts2-json

    Struts2支持JSON的处理,使得开发人员能够轻松地将Java对象转换为JSON格式,然后发送到客户端,或者将JSON数据解析成Java对象。下面我们将深入探讨Struts2集成JSON的相关知识点。 1. **Struts2 JSON插件**: ...

    struts2+json/ajax

    通过这种整合,开发者可以利用Struts2的强大功能处理后端业务逻辑,同时利用Ajax和JSON实现快速、无刷新的前端交互,提高用户体验。在实际开发中,还应注意安全问题,如防止XSS和CSRF攻击,以及正确处理JSONP跨域...

    struts2-json-plugin源码

    Struts2是一个非常流行的Java Web框架,用于构建可维护、可扩展且结构良好的应用程序。...深入研究源码可以提高开发效率,解决实际开发中遇到的问题,如处理复杂对象的序列化、优化JSON响应速度等。

    struts2向服务器返回json信息

    本示例主要探讨如何在Struts2框架中实现从服务器向客户端返回JSON数据。 首先,让我们了解JSON的基本结构。JSON是一种数据交换格式,它以键值对的形式存储数据,类似于JavaScript对象。例如: ```json { "name": ...

    使用struts2 和ajax进行传递json数据

    使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样Struts2会将Action的返回对象转换成JSON格式并返回给前端。 **Ajax请求与JSON数据** 前端JavaScript代码使用XMLHttpRequest对象或现代...

Global site tag (gtag.js) - Google Analytics