写在前面的话:话说这是我写的第一篇博客,希望大家多多支持。
1:JSONObject与JSONArray的使用:
注:1:Json必需的包(以下包可以在struts里找的到,没有的话我看我的附件)
commons-httpclient-3.1.jar(我使用的时候没加)
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
2:Webgrades属性:id,studentnumber,name,grade,class_:
以下是代码:
JSONObject obj;
JSONArray atrray;
Webgrades grade = new Webgrades();
grade.setId(1);
grade.setName("a");
grade.setStudentnumber("a");
grade.setGrade(90);
grade.setClass_("a");
atrray= JSONArray.fromObject(grade);
System.out.println(atrray.toString());
//输出[{"id":1,"studentnumber":"a","name":"a","grade":90,"class_":"a"}]
Webgrades grade1 = new Webgrades();
grade1.setId(2);
grade1.setName("b");
grade1.setStudentnumber("b");
grade1.setGrade(90);
grade1.setClass_("b");
ArrayList<Webgrades> list = new ArrayList<Webgrades>();
list.add(grade);
list.add(grade1);
atrray= JSONArray.fromObject(list);
System.out.println(atrray.toString());
//输出[{"id":1,"name":"a","studentnumber":"a","grade":90,"class_":"a"},{"id":2,"name":"b","studentnumber":"b","grade":90,"class_":"b"}]
boolean[] boolArray = new boolean[] { true, false, true };
atrray= JSONArray.fromObject(boolArray);
System.out.println(atrray.toString());
//输出[true,false,true]
Map map = new HashMap();
map.put("name", "a");
map.put("password","b");
obj = JSONObject.fromObject(map);
System.out.println(obj.toString());
//输出{"name":"a","password":"b"}
注:运行完以上代码后,只要你对json有点认识,就会明白他们的使用。
2:json在struts中的使用(需要jsonplugin)
1:下面是我的jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="flexigrid_my/jquery-1.3.2.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("#button").click(function(){
var url = "test";
$.ajax({
url:url,
type:"POST",
dataType:"json",
success:function(data){
alert(data[0].id);
$("#result").html("<p>total:"+data.total+"</p>"+
" <p>page:"+data.page+"</p>"+
" <p>result:"+data.result.name+
"<p>result:"+data.rows[0].id+"</p>");
}
});
});
});
</script>
</head>
<body>
<button id="button" type="button">click</button>"
<div id="result">
</div>
</body>
</html>:
2:struts配置文件的使用
<package name="grade" extends="json-default">
<action name="testjson" class="com.action.GradeAction" method="login">
<result type="json" name="success"/>
</action>
</package>
3: GradeAction类
package com.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import org.hibernate.Transaction;
import com.opensymphony.xwork2.ActionSupport;
import dao.Webgrades;
import dao.WebgradesDAO;
public class GradeAction extends ActionSupport {
public List<Webgrades> rows;
public int total;
public int page;
public String result;
public String login() throws Exception {
total = 10;
page = 1;
Map map = new HashMap();
map.put("name", "a");
map.put("password","a");
JSONObject obj = JSONObject.fromObject(map);
result = obj.toString();
Webgrades wg = new Webgrades();
wg.setId(123);
wg.setStudentnumber("1");
wg.setName("a");
wg.setGrade(100);
wg.setClass_("a");
rows = new ArrayList<Webgrades>();
rows.add(wg);
return SUCCESS;
}
public List<Webgrades> getRows() {
return rows;
}
public void setRows(List<Webgrades> rows) {
this.rows = rows;
}
public int getTotal() {
return total;
}
public void setTotal(int total){
this.total = total;
}
public int getPage() {
return page;
}
public void setPage(int page){
this.page = page;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}
写在后面的话:
另外想再servlet中使用json的话可以使用1中的JSONOnject和JSONArray来产生json格式的字符串,再利用将该字符串返还给客户端。(这只是我的个人想法)
分享到:
相关推荐
总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。
Struts2 JSON插件的安装与配置是使用其功能的第一步。首先,你需要将struts2-json-plugin相关的JAR文件添加到项目的类路径中。然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml ...
在探讨“Struts2与JSON整合”的主题时,我们深入分析了如何在Struts2框架中集成JSON技术,实现前后端数据的高效交互。Struts2作为一款流行的Java Web开发框架,提供了丰富的功能来简化Web应用程序的开发过程。而JSON...
struts2-json-plugin,Struts JSON插件
在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...
这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java类等,使得JSON与Java之间的数据交互变得简单。 `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持...
在Struts2与Ajax的交互中,后端返回的JSON数据需要在前端被`json2.js`解析成可操作的对象,这样才能在页面上动态更新内容。 接下来,我们讨论Struts2的`jsonplugin`。Struts2 JSON插件是官方提供的一个扩展,它使...
首先,为了在Struts2中使用Ajax和JSON,我们需要引入以下库: 1. Struts2的核心库:`struts2-core.jar` 2. Struts2的JSON插件:`struts2-json-plugin.jar` 3. JSON处理库:`json-lib.jar`(通常在Struts2的JSON插件...
标题中的"json+struts2整合jar包"指的是将JSON功能集成到Struts2框架中,以便在服务器端与客户端之间进行数据交互。Struts2提供了一个插件——Struts2-JSON-Plugin,用于支持JSON序列化和反序列化,使得Action类可以...
1. **JSON与Struts2的集成**:Struts2提供了与JSON的集成支持,允许开发者通过配置Action类返回JSON格式的数据。这在实现AJAX(Asynchronous JavaScript and XML)请求时非常有用,可以实现页面的无刷新更新。 2. *...
如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。...2.使用Struts2对JSON的扩展。
在Struts2中,我们可以使用JQuery的Ajax方法(如`$.ajax()`或`$.post()`)发送异步请求,提交表单数据到服务器,同时获取JSON响应。 整合步骤如下: 1. **配置Struts2**: 首先,确保你的项目已经引入了Struts2的...
首先,`json包和struts2——json插件`这个文件很可能包含了Struts2的JSON插件,它是Struts2与JSON进行数据交换的核心组件。该插件允许我们在Action类中直接返回JSON对象,无需额外的序列化处理。通过配置插件,...
在Web开发中,jQuery的AJAX功能经常被用于与服务器进行异步数据交换,而Struts2作为一款流行的Java Web框架,提供了处理前端请求的能力。本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action...
在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
Struts2 JSON是一个在Java开发中广泛使用的框架,它允许开发者在Struts2应用程序中方便地处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
在JavaScript中,JSON与JavaScript对象几乎是一一对应的,这使得JSON成为Ajax通信的理想选择。 **Struts2与Ajax交互** 在Struts2中,可以通过配置Action来处理Ajax请求。Action类中的方法可以返回一个值,这个值...
4. JSON结果类型:在Struts2的配置文件中,指定使用`json`结果类型,并设置要序列化的对象。例如,如果Action方法返回`YourResultObject`,则配置如下: ```xml <result type="json"> <param name="root">...