`
vorce
  • 浏览: 5165 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2+json简单示例

    博客分类:
阅读更多

本文主要是使用struts2 和 json 做一个简单的示例。

 

1、环境

 

struts2的基本配置就不赘述了,以下是此demo用到的所有jar包:

commons-fileupload-1.2.2.jar;
commons-io-2.0.1.jar;
commons-lang3-3.1.jar;
commons-logging-1.1.1.jar;
freemarker-2.3.19.jar;
javassist-3.11.0.GA.jar;
json-lib-2.3-jdk15.jar;
ognl-3.0.5.jar;
struts2-core-2.3.4.1.jar;
struts2-json-plugin-2.3.4.1.jar;
xwork-core-2.3.4.1.jar;
  这些包都能在下载好的struts2下的lib目录找到,我使用的版本是struts-2.3.4.1

2、示例

struts2自带了json插件,所以在使用上不会像以前那么繁琐。
下面是Action的代码:
	private DemoService demoService = new DemoServiceImpl();
	private User user;
	/**
	 * 执行方法
	 */
	public String show() throws Exception {
		user = demoService.getUserById(userId);
		return SUCCESS;
	}

  这里的user是一个标准的pojo对象,service通过user的ID返回一个对象。

 

然后是struts.xml代码:

<package name="demo" extends="json-default" namespace="/json">
		<action name="*Action" class="com.demo.action.DemoAction" method="{1}">
			<result type="json" />
		</action>
	</package>

  在使用json传递对象时,包必须继承json-default,而非struts-default包,不然是无法识别type为json的返回结果的。

 

下面是前台页面demo.jsp的主要实现代码:

<script type="text/javascript">
	function getJsonInfo() {
		var val = $("#userId").val();
		$.ajax({
			type : "post",
			url : "json/showAction",
			dataType:"json",
			data : {'userId':val},
			success : function(data) {
				$("#username").text(data.user.username);
				$("#password").text(data.user.password);
				$("#birthday").text(data.user.birthday);
				$("#div_display").show();
			}
		});
	}
</script>

  通过ajax直接传递id到后台,获得user对象。

:网上找资料,发现有些人通过一下的方式传递json:

	public String show() throws Exception {
		user = demoService.getUserById(userId);
		JSONObject json = JSONObject.fromObject(user);	
		System.out.println("json is " + json);
		return SUCCESS;
	}

  上面代码经测试,不知道是不是我的使用方法不对,打印语句无法执行到,而且,前台也无法得到数据。

 

还有就是,当result里面的Type是json时,它回默认把action里面所有序列化过的属性全部传递出去,而我们的业务类往往不需要这么做,所以:

 

	@JSON(serialize = false)  
	public DemoService getDemoService() {
		return demoService;
	}

  只要在get该属性的方法前面注明不序列化它就可以了。

 

如有错误请及时指出

 

相关博文介绍: Struts2 json ajax动态显示列表 

  关于Struts2 json-plugin Date日期格式的处理

分享到:
评论

相关推荐

    Struts2+Json+Android简单实现

    总结来说,“Struts2+Json+Android简单实现”是一个典型的前后端交互示例,展示了如何利用Struts2作为服务端接口,通过JSON进行数据交换,最后在Android客户端进行数据展示和用户交互。理解并掌握这种技术栈对于构建...

    Struts2+JSON+JQuery实现简单的验证

    这个简单的示例展示了Struts2、JSON和JQuery在实际应用中的协作方式。通过Struts2处理业务逻辑和验证,JSON作为数据交换格式,JQuery在客户端进行交互和验证,可以构建出响应快速、用户体验良好的Web应用。理解并...

    extjs+struts2+hibernate+json登录程序

    ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...

    Struts2 + jQuery+JSON 实现ajax

    本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. **引入Struts2的JSON插件** 描述中提到的第一步是将Struts2的JSON插件加入到Web项目的lib目录下。这一步非常...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    struts1+JSON实例

    在这个"struts1+JSON实例"中,我们将深入探讨如何结合Struts1、JSON以及Ajax技术来实现一个功能丰富的学生选课系统。 首先,我们需要理解数据库设计的基础知识。在MySQL中,学生选课系统可能包括如下的表:`...

    Struts2+Json+Hibernater

    Struts2支持多种插件,使得与第三方库如JSON的集成变得简单。 Hibernate则是一个强大的ORM(对象关系映射)框架,用于简化数据库操作。它允许开发者使用Java对象而不是SQL语句来操作数据库,减少了数据库层的复杂性...

    struts2+jquery+json+ajax例子

    Struts2、jQuery、JSON和Ajax是Web开发中常见的技术栈,它们共同为构建动态、交互式的用户界面提供了强大的支持。下面将详细解释这些技术及其在登录示例中的应用。 Struts2是一个基于MVC(Model-View-Controller)...

    struts2+spring+hibernate+jquery+json

    Struts2、Spring、Hibernate、jQuery 和 JSON 是五个在IT行业中极为重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这篇文章将详细介绍这些技术的整合使用以及它们的功能。 首先,Struts2 是一个基于 ...

    struts2+json+ajax+jquery

    在"strutsdemo12"这个项目中,可能包含了一个使用Struts2、Ajax、jQuery和JSON的示例应用。开发者可能创建了Action类来处理请求,返回JSON数据,同时在前端使用jQuery的Ajax方法来发送请求并处理响应。这些文件可能...

    @@@extjs+struts2+json plugin的例子

    综上所述,`@@@extjs+struts2+json plugin的例子`是一个综合运用`ExtJS`前端框架、`Struts2`后端框架以及`JSON`数据交换格式的Web应用示例。这样的组合可以构建出高性能、用户体验良好的企业级应用,同时利用`Struts...

    struts2+json+ajax

    5. **示例代码**:在提供的压缩包文件中,可能包含了一个简单的JSP页面,它包含了发送Ajax请求的JavaScript代码,以及一个Struts2 Action类,处理这个请求并返回JSON数据。你可以将这些文件导入到你的Web工程中,...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...

    Android+struts2+JSON方式的手机开发

    在Android应用开发中,结合Struts2框架和JSON(JavaScript Object Notation)技术可以实现高效的数据交互。这个项目可能是为了创建一个使用Android客户端通过HTTP请求与服务器进行数据交换的示例。Struts2是一个强大...

    Struts2+Json+ExtJS分页

    ### Struts2+Json+ExtJS分页技术详解 #### 一、技术背景与概述 在Web开发领域,实现高效的数据展示与交互是至关重要的。本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此...

    struts2+Json 点击按钮加载用户列表

    以下是一个简单的示例代码片段: 1. Struts2 Action类: ```java public class UserAction extends ActionSupport { private List&lt;User&gt; userList; // getters and setters public String loadUsers() { /...

    struts2.1+json+jquery用户名校验

    在文件列表中的"JsonTest"可能包含了测试代码或者示例,它可能是用来演示如何使用jQuery发送Ajax请求到Struts2.1 Action并处理返回的JSON数据。这部分代码可能包括了HTML页面(用于输入用户名和显示反馈)、...

    struts2+json+ext+tree

    "testJsonLib"可能包含一个简单的示例,演示如何通过Struts2的Action返回JSON数据,EXT的TreePanel接收并展示这些数据。通过学习这个示例,开发者可以更好地理解这三种技术的集成,提高开发效率,创建出更加动态和...

    struts2+json结合

    将Struts2与JSON结合起来,可以方便地在服务器端处理业务逻辑并返回JSON数据给客户端,比如AJAX请求,从而实现动态更新页面无需刷新整个页面。 首先,让我们深入了解一下Struts2如何与JSON进行集成: 1. **添加...

Global site tag (gtag.js) - Google Analytics