`
jerryzxm
  • 浏览: 49882 次
  • 性别: 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数据并向前台返回Json格式的数据

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

    评论列表,提交,分页

    - 响应渲染:后端将评论数据结构化为JSON或其他格式,返回给前端,前端解析数据并渲染到页面上。 3. **数据库设计**: - 评论表:设计一个评论表,字段可能包括评论ID、用户ID、评论内容、时间戳等。 - 关联表:...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    二十四节气之大暑节气.pptx

    二十四节气之大暑节气.pptx

    python实现五子棋游戏源码

    python实现五子棋游戏源码

Global site tag (gtag.js) - Google Analytics