`
wjt276
  • 浏览: 650280 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

struts2的json插件配置详解 - 转

阅读更多

为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件可以在Struts2压缩包中的lib目录下找到。

 

2.json插件执行原理时序图

点击查看原图

 

3.将struts.xml里面的

Xml代码
  1. < package   name = "default"   extends = "struts-default" >   
<package name="default" extends="struts-default">

  改为

Xml代码
  1. < package   name = "default"   extends = "json-default" >   
<package name="default" extends="json-default">

 

4.Action中的配置

Xml代码
  1. < action   name = "testAction"   class = "com.json.action.TestAction"   method = "testMethod" >   
  2.     < interceptor-ref   name = "json"   /> <!--处理以JSON文本提交的请求-->   
  3.     < result   type = "json"   />   <!--将action的bean属性以json字符串返回浏览器-->   
  4. </ action >   
<action name="testAction" class="com.json.action.TestAction" method="testMethod">
    <interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
    <result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
</action>

   注:根据需要选择interceptor和result配置

 

5. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题

  5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果

         如:

    action类

Java代码
  1. public   class  BaseAction  extends  ActionSupport  implements   {  
  2.     private  Person person =  null ;  
  3.                 ...  
  4. }  
public class BaseAction extends ActionSupport implements  {
	private Person person = null;
                ...
}

    bean类  

Java代码
  1. public   class  Person {  
  2.     private  String name;  
  3.     private   int  age;  
  4.     ...  
  5. }  
public class Person {
	private String name;
	private int age;
	...
}

    我们只要输出person对象的name属性值,配置如下

Xml代码
  1. < result   type = "json" >   
  2.     < param   name = "root" > person.name </ param >   
  3. </ result >   
<result type="json">
	<param name="root">person.name</param>
</result>

 

  5.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。

Xml代码
  1. < result   type = "json" >   
  2.     < param   name = "excludeNullProperties" > true </ param >   
  3. </ result >   
<result type="json">
	<param name="excludeNullProperties">true</param>
</result>

 

  5.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认 是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。

Xml代码
  1. < result   type = "json" >   
  2.     < param   name = "ignoreHierarchy" > false </ param >   
  3. </ result >   
<result type="json">
	<param name="ignoreHierarchy">false</param>
</result>

 

  5.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。

   如:输出person的所有属性 

Xml代码
  1. < result   type = "json" >   
  2.     < param   name = "includeProperties" > person.*, person\.name </ param >   
  3. </ result >   
<result type="json">
	<param name="includeProperties">person.*, person\.name</param>
</result>

 

  5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同5.4.

分享到:
评论

相关推荐

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

    这篇博客将深入讲解Struts2的JSON插件配置,并通过实例“strutsJson”来演示具体用法。 首先,让我们了解JSON插件的基本配置。在Struts2框架中,我们需要在`struts.xml`配置文件中引入JSON插件的相关配置。这通常...

    struts2的json插件配置详解(附demo)

    为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址 http://code.google.com/p/jsonplugin/ 1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录 注:struts2...

    Struts2 json插件入门指南.pdf

    ### Struts2 JSON插件入门知识点详解 #### 1. 依赖包 - **Struts2 必需的 6 个 jar 包** - `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入...

    AjaxStruts2Json实例

    - 引入Struts2的核心库和JSON插件库到项目中。 - 在`struts.xml`配置文件中启用JSON结果类型,并配置相应的拦截器栈。 ```xml &lt;constant name="struts.enable.SlashesInActionNames" value="true"/&gt; ...

    struts2整合JSON

    Struts2与JSON的整合主要依赖于JSON插件的支持,通过在`struts.xml`中配置Action以及指定结果类型为JSON,可以轻松实现将Java对象转换成JSON格式输出。这种整合方式不仅提高了数据传输效率,还简化了前端解析过程,...

    struts2框架详解

    Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_11_插件 共51页.pptx

    #### 二、Struts2 JSON插件详解 JSON插件是Struts2中非常实用的一个插件,主要用于简化JSON数据的处理过程。随着AJAX技术的广泛应用,JSON格式的数据交互变得越来越普遍。因此,了解并掌握Struts2 JSON插件的使用...

    Struts2_Jsonplugin_详解.doc

    当Action执行完成后,如果返回`Action.SUCCESS`,并且已经配置了`json`类型的Result,那么Struts2 JSON插件就会介入,将Action中这些属性及其值序列化成JSON格式。这里,你可以使用注解`@JSON`来自定义属性在JSON...

    Jsonplugin结合struts2使用说明

    在Struts2中,要启用JSON插件,你需要在`struts.xml`配置文件中添加相关的配置。 ```xml &lt;constant name="struts.enable.SMD" value="true"/&gt; &lt;package name="json-default" extends="struts-default"&gt; *" class=...

    struts2 jquery插件

    - **JSON插件的加入**:在struts2.xml文件中加入JSON插件,以便于处理Ajax请求返回的JSON数据格式,这对于实现动态页面更新非常关键。 #### 2. 使用JQuery UI插件实现高级效果 - **选项卡效果的实现**:通过使用...

    struts2_json_jquery_集成详解.docx

    2. **引入依赖**:添加struts2的核心库、JSON插件(jsonplugin.jar)、Struts2-Spring插件、Hibernate库、Spring库、JDBC驱动以及jQuery库。 3. **数据库设计**:创建合适的数据库表并能够在MyEclipse中管理。 4. **...

    Struts2返回JSON对象[参考].pdf

    - `struts2-json-plugin-2.1.8.1.jar`:提供JSON插件支持。 - `json-lib-2.1.jar`:JSON库,用于处理JSON数据。 - `commons-collections-3.2.jar`:提供了集合工具类,用于集合操作。 - `commons-beanutils-...

    Struts2开发详解

    Struts2通过Struts2-jquery插件或JSON结果类型,支持异步更新,提供更丰富的用户体验。 总的来说,Struts2作为一个成熟的Java web框架,具有丰富的特性和良好的社区支持,为开发者提供了高效且灵活的开发工具,是...

    Struts2体系结构图例详解

    8. **Plug-in Architecture**:Struts2的插件架构使得扩展和集成其他功能变得容易,如Tiles、Hibernate等。 9. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2默认使用的表达式语言,用于在Action、...

    SSH笔记_Struts2配置

    **Struts2配置详解** 1. **struts2核心库** `struts2`的jar文件是框架运行的基础,包含核心控制器、拦截器、结果类型和其他必要的组件。这些jar文件提供了处理请求、响应以及与其他组件交互的能力。 2. **.struts...

    Struts2 深入详解课本代码

    2. **配置文件详解**:在`ch01`和`ch02`中,可能会介绍`struts.xml`配置文件的用法。这个文件定义了Action的配置,包括Action类的路径、结果视图的跳转以及拦截器的使用等。 3. **Action与结果**:`ch03`系列文件...

Global site tag (gtag.js) - Google Analytics