为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址
http://code.google.com/p/jsonplugin/
1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录
注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的0.32一切OK,估计是struts2的2.0.*版本的对应插件的0.32版本,而后来的struts2.1.*版本对应0.34版本
2.将struts.xml里面的
Xml代码
<package name="default" extends="struts-default">
改为
Xml代码
<package name="default" extends="json-default">
3.将需要以json格式返回的action的result配置改为
Xml代码
<result type="json">
这样就可以把action的bean属性以json字符串返回浏览器
4. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
4.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
Java代码
public class BaseAction extends ActionSupport implements {
private Person person = null;
...
}
bean类
Java代码
public class Person {
private String name;
private int age;
...
}
我们只要输出person对象的name属性值,配置如下
Xml代码
<result type="json">
<param name="root">person.name</param>
</result>
4.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
Xml代码
<result type="json">
<param name="excludeNullProperties">true</param>
</result>
4.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为false,设置为true后会将父类和子类的属性一起返回。
Xml代码
<result type="json">
<param name="ignoreHierarchy">true</param>
</result>
4.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
Xml代码
<result type="json">
<param name="includeProperties">person.*, person\.name</param>
</result>
分享到:
相关推荐
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 ...13 Struts 2与AJAX
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的...Struts 2与AJAX
Struts 2.0 和 AJAX 是两种在 Web 开发中广泛应用的技术,它们的结合使得创建交互性更强、响应更快的用户界面成为可能。Struts 2.0 是一个基于 Model-View-Controller(MVC)架构的Java web框架,而 AJAX...
十三、Struts2.0与AJAX的融合 AJAX技术的兴起,为Web应用带来了全新的交互体验。Struts2.0通过集成JSON插件和Dojo库,实现了与AJAX技术的深度结合。开发者可以利用、、等标签,轻松实现异步请求、自动补全等功能,...
通过实际项目案例,可以深入理解Struts2.0在开发中的运用,包括用户登录、权限控制、数据校验、Ajax异步请求等常见功能的实现。 总结,学习Struts2.0不仅需要掌握其基本概念和配置,还需要理解拦截器机制,熟练使用...
Struts2.0和Ajax是Web开发中的两个关键技术,它们结合使用可以显著提升用户体验,实现页面的无刷新更新。在本项目中,我们看到的是一个简单的Ajax应用,它展示了如何利用Ajax实现异步数据传输,避免传统网页提交时的...
Struts2.0是一个强大的Java Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发流程。这个压缩包包含的是Struts2.0的核心库和其他必要的JAR文件,这些文件对于创建一个基于...
Struts 2权威指南——第1章 Struts 2概述.doc Struts 2权威指南——第...13 Struts 2与AJAX Struts2中用Spring实现IoC.doc Struts2中的零配置与CoC(Convention over Configration).doc Struts2介绍之使用链接标签.doc
8. **插件系统**:Struts2.0支持插件扩展,如Freemarker和Velocity模板引擎,以及Ajax支持等。 9. **最佳实践与性能优化**:提供关于代码组织、性能调优和安全性的建议,帮助开发者写出高效且安全的Struts2.0应用。...
4. **丰富的插件支持**:Struts 2.0拥有众多插件,可以扩展框架的功能,如Ajax支持、文件上传下载、PDF生成等。 5. **模板技术**:Struts 2.0支持FreeMarker和Velocity等多种模板技术,方便开发者选择最适合的视图...
### Eclipse Struts2.0 可视化开发组件知识点详解 #### 一、Struts2.0概述 在深入探讨Eclipse Struts2.0可视化开发组件之前,我们首先需要了解Struts2.0框架的基本概念及其优势。Struts2.0是一个用于Java EE平台的...
9. **Ajax支持**:学习如何利用Struts 2.0的Ajax特性,实现页面局部更新,提升用户体验。 10. **模板引擎**:探讨Struts 2.0对FreeMarker和JSP等模板引擎的支持,以及它们在实际开发中的应用。 11. **异常处理**:...
Struts2.0是Java Web开发中非常重要的一个框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化的、灵活的方式来构建应用程序。本篇将详细介绍Struts2.0常用5个核心JAR包的功能及其在开发中的作用。...
Struts2.0和Spring是两个非常著名的Java Web框架,它们在企业级应用开发中有着广泛的应用。Struts2提供了一种模型-视图-控制器(MVC)架构,用于组织和管理应用程序的业务逻辑,而Spring则是一个全面的后端解决方案...
6. **Struts2与Ajax的结合**:Struts2.0与Ajax的整合让Web应用变得更加动态和响应。通过Struts2的JSON插件,开发者可以轻松地实现异步请求,更新部分页面,提升用户体验。 在学习这个教程时,你可以通过"max struts...
学习Struts2.0还需要掌握如何进行异常处理、国际化支持、Ajax集成、以及如何利用 strut2-convention-plugin 自动映射Action。对于高级话题,例如自定义拦截器、插件开发,以及与Spring、Hibernate等其他框架的整合,...