Struts2 JSONObject的使用

一、jar包

使用之前必须引入所需要的jar包,这里包括Struts2和JSONObject各自所必须的

Struts2:

commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar

JSONObject:

commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
ezmorph-1.0.3.jar
json-lib-2.1.jar

PS: 本例Struts2版本为2.1.6,以上所有jar包在struts-2.1.6\lib中都可以找到,

如果以上jar包是东拼西凑的 特别是JSONObject,有可能会因jar包兼容性问题而报错。

二、前台代码

<body>
	<form id="myform">
		<table>
			<tr>
				<td>姓名:</td>
				<td> <input type="text" name="name" /> </td>
			</tr>
			<tr>
				<td>性别:</td>
				<td>
					<input type="radio" name="sex" value="1"> 男
					<input type="radio" name="sex" value="0"> 女
				</td>
			</tr>
			<tr>
				<td>年龄:</td>
				<td>
					<select name="age">
						<option value="20">20</option>
						<option value="21">21</option>
						<option value="22">22</option>
					</select>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="button" id="ajaxBtn" value="提交" />
				</td>
			</tr>
		</table>
	</form>
	<div id="msg"></div>
</body>
<script type="text/javascript">
	$(function() {
		$("#ajaxBtn").click(function() {
			var params = $("#myform").serialize();
			$.ajax( {
				type : "POST",
				dataType: "json",
				url : "RegisterAction.action",
				data : params,
				success : function(msg) {
					if(msg.success == true){
						$("#msg").html("您提交的信息为,姓名: "+msg.name+
						", 性别:"+msg.sex+", 年龄:"+msg.age);
						alert("success");
					}else{
						alert("error");
					}
				},
				error : function(){
					alert("error");
				}
			});
		})
	})
</script>

三、后台

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;

public class RegisterAction {

	private String name;
	private String sex;
	private String age;

	public String register() {
		ActionContext ac = ActionContext.getContext();
		HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);
		response.setCharacterEncoding("utf-8");
		PrintWriter out;
		try {
			out = response.getWriter();
			JSONObject json=new JSONObject();
			json.put("success", true);
			json.put("name", name);
			json.put("sex", sex==null?"未知":("1".equals(sex)?"男":"女"));
			json.put("age", age);
			out.write(json.toString());
			out.flush();
			out.close();

		} catch (IOException e) {
			e.printStackTrace();
		}

		return null;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
}

四、Struts配置

<struts>
	<package name="build" extends="struts-default">
		<action name="RegisterAction" method="register" class="com.home.RegisterAction">
		</action>
	</package>
</struts>

如下图:

作者:itmyhome

出处:http://blog.csdn.net/itmyhome1990/article/details/41943291

时间: 2024-12-07 04:49:09

Struts2 JSONObject的使用的相关文章

Struts2.5 利用Ajax将json数据传值到JSP

AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面. JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范

Struts2工具类

代码如下 <span style="font-size:18px;">import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.comm

Android与服务器端数据交互(http协议整合struts2+android)

在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有 一:基于Http协议获取数据方法.二:基于SAOP协议获取数据方法,三:忘了------- 那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据. 那么,接下来我们便开始这一路程: 首先:编写服务器端

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据.此处,我们使用Struts2框架整合DataGrid,实现数据的显示. 一.页面内容 为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF

Struts2之ajax提交表单(借助jquery插件)

1 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&q

kindeditor图片上传 struts2实现

一.kindeditor以及struts2部署搭建不再赘述,如需要请参考kindeditor使用方法 Struts2框架搭建 二.kindeditor图片上传所依赖jar包在kindeditor\jsp\lib下有 三.以下列出部分核心代码,如需要全部源码可点击下载(待上传) JSP <textarea id="editor_id" name="content" style="width:950px;height:300px;"> 这

Struts2+Spring3+MyBatis3整合以及Spring注解开发

 分类: Web(2)  版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在做一个SpringMVC+spring+MyBatis的项目,突然想起以前自己要搭建一个Struts2+Spring+IBatis的框架,但是没成功,正好看见培训时候老师给的千里之行的开源项目.于是将这个项目提供的SQL加入到了自己的数据库中(所以数据和项目名用的是qlzx),打算以后做练习的时候用这个数据库.那么接下来问题来了(不要说某翔或者不约,不是那个问题):我有了数据库和数据,想要搭建一个网站,该怎么做

EasyUI、Struts2、Hibernate、spring 框架整合

经历了四个月的学习,中间过程曲折离奇,好在坚持下来了,也到了最后框架的整合中间过程也只有自己能体会了. 接下来开始说一下整合中的问题和技巧: 1,  jar包导入 c3p0(2个).jdbc(1个).spring(15个).Hibernate(10个).Struts2(13个).json(3个) 及EasyUI的jquery包 2, 在src目录下新建一个实体类的包,并新建一个实体类 package com.han.entity; import java.util.Date; public cl

Struts2 ajax json小例子

1:首先要解决jar包的问题,我最近一直用maven搭建项目,所以把pom.xml复制到这. 要有struts2的核心包,struts2和Json整合的包,以及json lib.刚才转载了一篇解决json lib老是报错的博客,问题完美解决. <dependencies> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</ar