`

Structs2中Json插件的Action配置

    博客分类:
  • JAVA
阅读更多
JSON(Java Script Object Notation),是一种语言无关的数据交换格式。
JSON插件是Structs 2 的Ajax插件,通过利用JSON插件,开发者可以很方便,灵活的利用Ajax进行开发。Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的Action ResultType 。一旦为Action指定了该结果处理类型,JSON插件就会自动将Action里的数据序列化成JSON格式的数据,并返回给客户端物理视图的JavaScript。简单的说,JSON插件允许我们在JavaScript中异步的调用Action,而且Action不需要指定视图来显示Action的信息显示。而是由JSON插件来负责具体将Action里面具体的信息返回给调用页面。Json的数据格式可简单如下形式: person = { name: 'Jim',age: 18,gender: 'man'}。

但是在structs2的模型驱动下,从Action返回的数据往往很大,因为里面封装了JavaBean的整个实例。比如person Bean里面除了姓名、性别、年龄还有其他的什么表哥、表妹、大姨妈。二姨妈的成员在。而我们想要从Action返回到调用页面的却只有姓名、年龄和性别的数据。这个时候配置includeProperties或者excludeProperties拦截器即可。而这2个拦截器的定义都在struts2的json-default包内,所以要使用该拦截器的包都要继承自json-default。


<struts>
    <constant name="struts.objectFactory" value="spring"/>    
<include file="struts-admin.xml"></include>
    <package name="default" extends="json-default">
        <action name="person" class="com.person.PersonAction" method="view">
         <result type="json">
          <param name="includeProperties">          
           person\.name,persoon\.age,person\.gender          
          </param>>          
         </result>
        </action>
    </package>      
</struts>



利用Struts 2的支持的可配置结果,可以达到过滤器的效果。Action的处理结果配置支持正则表达式。

但是如果返回的对象是一个数组格式的Json数据。比如peson Bean中有对象persion1...person9,而我只要person1的json数据,则

可以用如下的正则表达式。

<struts>
    <constant name="struts.objectFactory" value="spring"/>    
<include file="struts-admin.xml"></include>
    <package name="default" extends="json-default">
        <action name="person" class="com.person.PersonAction" method="view">
         <result type="json">
          <param name="includeProperties">          
           person\[\d+\]\.person1
          </param>>          
         </result>
        </action>
    </package>      
</struts>

excludeProperties拦截器的用法与此类同,如果拦截的仅仅是一个对象,如果拦截掉person Bean的整个对象。

<struts>
    <constant name="struts.objectFactory" value="spring"/>    
<include file="struts-admin.xml"></include>
    <package name="default" extends="json-default">
        <action name="person" class="com.person.PersonAction" method="view">
         <result type="json">
          <param name="excludeProperties">          
           person

          </param>>          
         </result>
        </action>
    </package>      
</struts>
分享到:
评论
1 楼 wayer 2009-04-22  
你好,能写个例子上来吗?我正在用struts2做开发,也用到了json,但是不会用,不知道怎么把action里的一个Bean类转换成json对象;我把Bean类的属性们用map.put("","");然后我把map用json—simple类包转成了json字符串,页面获得的是json字符串,获得不了json的对象形式,不能用“.”取值;不知道我说的意思表达清了没;

相关推荐

    struts2的json插件

    2. **配置struts.xml**:在配置文件中声明JSON插件,并指定需要返回JSON的Action。 3. **Action类和结果**:在Action类中定义返回对象,Struts2会自动将其转换为JSON。 4. **前端处理**:在JavaScript中接收并解析...

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

    Struts2的JSON插件正是为了方便开发者在Struts2框架中处理JSON数据而设计的。 首先,让我们深入了解JSON。JSON是一种独立于语言的数据交换格式,具有易于人阅读和编写,同时也易于机器解析和生成的特点。它的数据...

    struts2+json

    在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...

    struts2的json插件配置详解(附示例strutsJson)

    在Struts2中,JSON(JavaScript Object Notation)插件是实现前后端数据交互的重要工具,尤其在当今Web开发中,JSON由于其轻量级、易读性强的特点,被广泛用于API接口的数据传输。这篇博客将深入讲解Struts2的JSON...

    struts2-json-plugin源码

    在Struts2中,通过整合JSON插件,可以方便地将Action的返回结果转换为JSON格式,供前端JavaScript处理。 `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这...

    struts2-json

    Struts2提供了JSON插件,允许开发者在Action类中返回JSON响应。安装插件后,只需在Action配置中启用JSON支持,就能自动处理JSON输出。 2. **Action配置**: 在Struts2的配置文件(struts.xml或struts.properties)...

    struts2与json整合

    在Struts2中,Action类中的方法负责处理来自客户端的请求。为了返回JSON数据,可以定义一个如下的Action方法: ```java public String getXxx() { return "aaa"; } ``` 当客户端调用此方法时,Struts2会自动将...

    struts2返回JSON数据的两种方式

    总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...

    Struts2.5操作JSON相关jar包

    在Struts2中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于前后端交互,使得数据传输更加高效。本知识点主要围绕Struts2.5操作JSON的相关jar包进行详细介绍。 首先,`json包和...

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

    这个插件允许开发者在Struts 2中轻松地创建能够返回JSON的Action,使得前端(通常使用JavaScript库如jQuery)可以获取到JSON数据并进行进一步处理。 现在我们来详细讨论这两个库在实际应用中的作用: 1. **json-...

    struts2-json-plugin-2.3.8.jar

    在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...

    struts2的json插件实例

    在Struts2中,可以通过JSON插件来实现JSON数据的处理,使得Web应用能够更方便地与AJAX或JavaScript进行交互。 本实例将详细介绍如何在Struts2项目中配置并使用JSON插件,以及如何创建一个简单的JSON响应。 首先,...

    struts 2.0 与 2.1 需要的json插件

    在Struts 2的早期版本中,如2.0和2.1,为了支持JSON(JavaScript Object Notation)数据交换格式,开发者需要额外安装和配置JSON插件。JSON在Web应用中广泛用于前后端的数据传输,因为它轻量级、易于阅读和编写,...

    struts2+json的使用

    在Struts2中集成JSON,可以方便地将服务器端处理的结果以JSON格式传递给前端,简化数据传输并提高应用性能。 一、Struts2与JSON集成的必要性 在传统的Web开发中,服务器通常返回HTML页面来更新客户端视图。然而,...

    struts2-json包集合 不会出现任何报错

    - 配置Struts2的配置文件(struts.xml或struts-default.xml),添加JSON插件的配置,以便让Struts2框架知道如何处理JSON相关的Action。 - 确保Action类中有相应的getter和setter方法,以便JSON插件能够正确地序列化...

    struts2-json-lib

    1. 添加JSON插件到项目的类路径:确保`struts2-json-plugin-x.x.x.jar`在类路径中,并在`struts.xml`配置文件中启用JSON插件。 2. 配置Action:在Action类中,添加`@Result`注解或者在XML配置文件中定义结果类型为`...

    struts2所需的包和Struts2_json所需包

    2. **Struts2 JSON插件**:Struts2提供了一个JSON插件(`struts2-json-plugin.jar`),它允许我们将Action的返回值直接转换为JSON格式,便于前后端数据交换。这个插件简化了原本需要手动序列化对象到JSON字符串的...

    Struts2+Json+Android简单实现

    在Struts2中,我们可以配置Action类返回JSON类型的结果,这样当客户端(如Android应用)发起请求时,服务器会返回JSON格式的数据。这些数据可以包含对象、数组、字符串、数字等多种类型,非常适合移动设备上的数据...

    Struts2 ajax json使用介绍

    在Struts2中,我们可以利用Ajax和JSON来实现数据的异步交互。 **一、引入所需库** 首先,为了在Struts2中使用Ajax和JSON,我们需要引入以下库: 1. Struts2的核心库:`struts2-core.jar` 2. Struts2的JSON插件:`...

    Struts2与JSON

    在Struts2中,我们可以通过Action类返回一个JSON结果类型,这样Struts2会自动将Action的属性转化为JSON格式并返回给客户端。客户端通常使用JavaScript库如jQuery来接收并处理这些数据。 在描述中提到的"以JQuery...

Global site tag (gtag.js) - Google Analytics