`
liuInsect
  • 浏览: 133377 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts2中配置json

阅读更多
     struts2和json的集成,是为了适应在action 处理完后需要向对端输出相应对象的多个属性,简单的例子是:多级select标签的联动,这个时候从action返回的值不仅仅是SUCCESS or ERROR这么简单,而是在后端拼接好的<option>xxx</option>,这个时候JSON排上了用场
     附加一句,如果不是在Struts2中使用json,例如在servlet中,这个时候是通过拼接json格式的字符串返回到前端(注:这只是我看到有类似的例子,稍后自己会亲手测试下..这或许我印证了: struts2h会把返回的对象自动封装成相应的json格式. 这句话,只不过在servlet里我们是自己来动手封装了)
     原理:通过配置,struts2会调用action里面相应属性的getter方法拿到对象,在封装成jsong格式后序列化传送到前端
    
     配置方式:
     1>加入json-lib-2.4-jdk15.jar 
     2>在struts.xml的配置里面加上:
<package name="strtus2" extends="json-default"></package>

      注:以后要用到json的action extends这个包就可以了
     3>action的配置 例子:
       
 <action name="registerUtilAction" class="springRegisterUtilAction" >
                  <result name="areaListDO" type="json"> <!-- type=json 切记 result的name属性要和返回的属性名一样-->
                        <param name="excludeNullProperties">true</param> <!-- 是否去掉返回值为NULL的properties -->
                        <param name="includeProperties"><!-- 包括哪些properties -->
                              areaListDO
                        </param>
                  </result>
            </action>  

     4> 编写action,记住返回的属性一定要有getter方法,不需要返回的属性可用:
       @JSON(serialize = false)
         这个json注解标示,即不序列化这个属性,最好不需要返回的都这么注解,否则可能会出现不能序列化的异常等
     5>前端提取json对象,这里推荐用firebug等工具查看下:
              

    可以清晰的看到json的内容,甚至json的格式:对与这截图 我的areaListDO 只有两个属性  areaList(又包括areaId,areaInfoPK和areaName三个属性) 和results两个属性,还是比较方便的, 在前端提取json格式可以这样:
    json.areaListDO.results 即json对象的areaListDO(这个是我返回的属性名)的results这个属性
     也可以 json["areaListDO"].results 之所以这么取 是看到网上有人说用中括号[] 取是避免属性中有中文,不过我亲自测试过,用"." 取含有中文的属性也是没有乱码的...
     大功告成 ..





0
0
分享到:
评论
2 楼 liuInsect 2012-01-25  
f0rb 写道
struts2-json-plugin.jar,有这个jar包就行了,你看看这个jar包下面的struts-plugin.xml的里面都写了些啥就知道了。

  恩..是的..这个也可以的./
1 楼 f0rb 2012-01-25  
struts2-json-plugin.jar,有这个jar包就行了,你看看这个jar包下面的struts-plugin.xml的里面都写了些啥就知道了。

相关推荐

    struts2+json

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

    struts2返回JSON数据的两种方式

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

    struts2返回json数据用query在页面接收

    首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一个特定于JSON的Action配置,例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result type="...

    struts2与json整合

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

    Struts2中使用JSON数据格式所需全部jar包

    为了在Struts2中启用JSON支持,开发者需要在`struts.xml`配置文件中添加JSON结果类型,并在Action类中定义相应的返回类型。例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    struts2-json-plugin源码

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

    struts2返回json

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

    struts2--json包

    1. **配置JSON插件**:首先,要在Struts2中启用JSON支持,我们需要在`struts.xml`配置文件中添加JSON插件的配置。这通常包括注册插件以及指定哪些Action需要返回JSON响应。 ```xml &lt;constant name="struts.enable....

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

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

    struts2使用json时要添加的jar包

    在Struts2中集成JSON(JavaScript Object Notation)技术可以使得后端数据与前端交互更加高效,特别是对于AJAX请求。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Struts2中使用...

    struts2-json

    在Struts2的配置文件(struts.xml或struts.properties)中,需要为Action添加一个`@ResultType`注解或结果类型配置,指定为`json`。这样,当Action执行完成后,会返回JSON格式的数据。 3. **JSON Value Stack**: ...

    与struts2配套的JSON架包

    在Struts2的配置文件`struts.xml`中,我们需要开启JSON插件。这通常涉及到添加以下配置元素: ```xml &lt;constant name="struts.enable.JSON" value="true"/&gt; &lt;constant name="struts.action.extension" value=...

    struts2要使用json必须的两个包

    在Struts2中使用JSON,有两个关键的JAR包是必不可少的,这些正是`struts2-json-plugin-2.2.1.jar`和`json-lib-2.3-jdk15.jar`。 首先,`struts2-json-plugin-2.2.1.jar`是Struts2 JSON插件的实现库。这个插件为...

    AJAX和struts2传递JSON数组

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

    struts2-json-plugin-2.3.8.jar

    在Struts2中,你可以通过在Action类的方法上添加特定的注解,如`@Result(type = "json")`,来指示该方法应该返回JSON格式的数据。 Struts2 JSON Plugin 2.3.8版本包含了以下关键特性: 1. 自动处理Action结果:当...

    struts2 action 返回json方法(一)源码

    本篇将详细讲解如何在Struts2中配置Action来返回JSON响应。 首先,我们需要了解Struts2的Result类型。默认情况下,Action会返回一个JSP页面作为结果,但通过配置,我们可以让Action返回JSON数据。这需要使用到一个...

    Struts2+Json+Android简单实现

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

    struts2所需的包和Struts2_json所需包

    导入这些包后,开发者可以按照Struts2的配置方式设置Action,通过`@ResultType("json")`注解或在配置文件中指定`result`类型为`json`,Struts2就会自动将Action的返回值转化为JSON格式并发送到客户端。 在实际开发...

Global site tag (gtag.js) - Google Analytics