`
zhbhun
  • 浏览: 743 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

json的使用与struts中使用json

 
阅读更多

写在前面的话:话说这是我写的第一篇博客,希望大家多多支持。

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+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。

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

    Struts2 JSON插件的安装与配置是使用其功能的第一步。首先,你需要将struts2-json-plugin相关的JAR文件添加到项目的类路径中。然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml ...

    struts2与json整合

    在探讨“Struts2与JSON整合”的主题时,我们深入分析了如何在Struts2框架中集成JSON技术,实现前后端数据的高效交互。Struts2作为一款流行的Java Web开发框架,提供了丰富的功能来简化Web应用程序的开发过程。而JSON...

    struts2-json-plugin

    struts2-json-plugin,Struts JSON插件

    struts2返回JSON数据的两种方式

    在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...

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

    这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java类等,使得JSON与Java之间的数据交互变得简单。 `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持...

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

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

    Struts2 ajax 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整合jar包"指的是将JSON功能集成到Struts2框架中,以便在服务器端与客户端之间进行数据交互。Struts2提供了一个插件——Struts2-JSON-Plugin,用于支持JSON序列化和反序列化,使得Action类可以...

    json+struts2的jar

    1. **JSON与Struts2的集成**:Struts2提供了与JSON的集成支持,允许开发者通过配置Action类返回JSON格式的数据。这在实现AJAX(Asynchronous JavaScript and XML)请求时非常有用,可以实现页面的无刷新更新。 2. *...

    Struts2返回JSON对象的方法总结完整实例

    如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。...2.使用Struts2对JSON的扩展。

    Struts2与JSON

    在Struts2中,我们可以使用JQuery的Ajax方法(如`$.ajax()`或`$.post()`)发送异步请求,提交表单数据到服务器,同时获取JSON响应。 整合步骤如下: 1. **配置Struts2**: 首先,确保你的项目已经引入了Struts2的...

    Struts2.5操作JSON相关jar包

    首先,`json包和struts2——json插件`这个文件很可能包含了Struts2的JSON插件,它是Struts2与JSON进行数据交换的核心组件。该插件允许我们在Action类中直接返回JSON对象,无需额外的序列化处理。通过配置插件,...

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

    在Web开发中,jQuery的AJAX功能经常被用于与服务器进行异步数据交换,而Struts2作为一款流行的Java Web框架,提供了处理前端请求的能力。本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action...

    struts2返回json

    在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...

    AJAX和struts2传递JSON数组

    在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    struts2 json

    Struts2 JSON是一个在Java开发中广泛使用的框架,它允许开发者在Struts2应用程序中方便地处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

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

    在JavaScript中,JSON与JavaScript对象几乎是一一对应的,这使得JSON成为Ajax通信的理想选择。 **Struts2与Ajax交互** 在Struts2中,可以通过配置Action来处理Ajax请求。Action类中的方法可以返回一个值,这个值...

    struts2+json的使用

    4. JSON结果类型:在Struts2的配置文件中,指定使用`json`结果类型,并设置要序列化的对象。例如,如果Action方法返回`YourResultObject`,则配置如下: ```xml &lt;result type="json"&gt; &lt;param name="root"&gt;...

Global site tag (gtag.js) - Google Analytics