`

Struts2的Ajax应用

 
阅读更多

一、基本原理

使用拦截器机制,对Action的成员变量做持久化处理。

 

 

二、包的设置

<package.../>元素的属性extends为“json-default”,“json-default”的result type可以为“json”。

json-default 设置后,result就会被Struts2的拦截器拦截。并按json序列化后返回。

 视图为Action的字段,且字段按JSON格式序列化输出给客户端全部字段输出

 

三、指定序列化字段

解决方案:

在struts2.xml配置文件中里配置

        <param name="includeProperties"></param> 这个属性表示要包含进JSON数据中的数据。

        <param name="excludeProperties"></param> 这个属性表示不要包含进JSON数据中的数据。

注意:

Jar包是jsonplugin-0.25的,只支持excludeProperties,不支持includeProperties。

从0.28版本才开始支持includeProperties。

 

讨论:

只要有get方法,都会包含到json对象的属性,比如此useraction转为json如下:

{"allDatas":null,"analysisList":null,"maps":{6388:170},"message":null,"model":{"attachName":null,"attachPath":null,"auditStatus":null,"briefTitle":"null"}"

有时候我们只想指定的字段转为json,这时需要在xml里配置<param name="includeProperties">。

例:xml配置

<package name="example"  extends="json-default">
   <action name="JSONExample" class="com.test.UserAction">
     <result type="json">
       <param name="includeProperties">
         name,maps.*
       </param>
     </result>
   </action>
</package>
 

例如:配置返回refreshDatas集合中的字段

<action name="vote" class="com.test.VoteAction" method="{1}">
    <result name="error" type="json">
        <param name="includeProperties">message</param>
    </result>
    <result name="success" type="json">
        <param name="includeProperties">message,refreshDatas\[\d+\]\.newsId,refreshDatas\[\d+\]\.numberOfVotes</param>
    </result>
</action>

 


四、指定非序列化字段

为了使Action类的某些对象不序列化,则只需要字段不提供get方法即可。

或使用@JSON(serialize=false) ,或使用@Transient注解该字段。

@JSON和json类型的result都还有很多可选项,无非就是串行化谁,不串行化谁,返回数据的MIME类型,读者可以自行参考相关文档。

 

 

 

参考文档:

http://bosslife.blog.163.com/blog/static/114917017201061911130625/

http://bangsen.iteye.com/blog/969353

http://topic.csdn.net/u/20091214/14/c57aa29d-2588-473c-8e17-032e35a8e696.html

http://wenku.baidu.com/view/26d9a9f67c1cfad6195fa734.html

http://struts.apache.org/2.2.3/docs/json-plugin.html 

分享到:
评论

相关推荐

    struts2ajax项目

    在Struts2框架中整合Ajax,可以实现异步数据交互,提高应用的响应速度和交互性。 本项目"struts2ajax"是基于Struts2框架,利用jQuery库实现的Ajax功能示例。jQuery是一个轻量级的JavaScript库,它简化了DOM操作、...

    Struts2+Jquery+Ajax

    总的来说,Struts2+Jquery+Ajax的组合使得开发者能够构建出交互性强、响应速度快的Web应用。通过理解MVC模式、熟练掌握Struts2的配置和Action处理、灵活运用Jquery和Ajax,可以大大提高开发效率,提升用户使用体验。...

    Struts2 ajax json使用介绍

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它允许开发者构建可维护性和可扩展性极强的企业级Web应用。Ajax(异步JavaScript和XML)技术则为Web应用提供了局部刷新的能力,提高了用户体验。JSON(JavaScript ...

    struts2的Ajax实现注册验证

    总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...

    基于Struts 2 Ajax实现的Login应用

    ### 基于Struts 2 Ajax实现的Login应用知识点详解 #### 一、Struts 2框架简介 Struts 2是Apache Struts的第二个版本,它是一个用于开发Java Web应用程序的开源框架。该框架提供了强大的MVC(模型-视图-控制器)...

    Struts2与AJAX

    总结来说,Struts2通过与AJAX的整合以及JSON插件的使用,极大地提升了Web应用的用户体验。它不仅提供了简单的API和工具,使得开发者可以快速地实现AJAX功能,同时还能充分利用现有的JSON库和浏览器的JSON支持,降低...

    struts2对AJAX的支持

    Struts2通过集成jQuery插件和其他库,使得在基于Struts2的应用中集成AJAX变得简单易行。 首先,我们来理解一下Struts2是如何实现AJAX支持的。Struts2提供了一个名为`struts2-jquery-plugin`的插件,它扩展了Struts2...

    struts2+jquery+ajax文件异步上传

    Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...

    struts和ajax应用例子

    结合Struts2和Ajax,开发者可以构建出既有强大后端支持,又具备良好交互性的Web应用。这种组合在处理复杂表单提交、动态加载数据等场景中特别有效。不过,随着前端技术的发展,现代框架如React、Vue和Angular等已经...

    struts2+ajax+jquery

    总的来说,"struts2+ajax+jquery"的组合让开发者能够轻松地构建交互性强、响应快速的Web应用。通过Struts2处理业务逻辑和控制流程,jQuery简化前端JavaScript代码,而Ajax则实现了无刷新的数据交换,提高了用户体验...

    struts-ajax.rar_ajax struts _struts ajax_struts ajax war

    Struts和Ajax是两种在Web开发中广泛应用的技术。Struts是一种基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了一种结构化的、可维护的方式来组织应用程序,使得开发人员能够更有效地构建动态、...

    struts2 ajax图片上传

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts2中实现Ajax图片上传功能,可以帮助用户在不刷新整个页面的情况下提交图片,提高用户体验...

    ajax-struts2需要的3个包

    Struts2是一个非常流行的Java Web框架,它支持多种扩展,包括Ajax功能。在Struts2中实现Ajax交互,通常需要依赖一些特定的库和插件。以下是对"ajax-struts2需要的3个包"的详细解释: 1. **json.js**: 这是一个...

    struts2_ajax.rar_struts2 ajax

    "struts2_ajax.rar_struts2 ajax"这个压缩包文件很显然包含了关于如何在Struts2框架中集成和使用Ajax的示例和教程。 首先,理解Struts2的基础架构至关重要。Struts2的核心是Action类,它负责处理用户的请求并返回...

    Struts+ajax

    Struts和Ajax是两种在Web开发中常用的框架和技术,它们结合使用可以构建出高效、动态且用户友好的应用程序。在本篇文章中,我们将深入探讨Struts与Ajax的整合及其在增删查改(CRUD)操作中的应用。 首先,让我们...

    Struts2+Ajax实现的用户登录

    Struts2提供了控制流程,Ajax实现了无刷新的用户交互,Sprint协助管理应用程序组件,而Hibernate则简化了数据库操作。理解并掌握这些技术对于Java Web开发者来说至关重要,因为它们构成了现代企业级应用的基础架构。

    Struts2的ajax支持

    Struts2对Ajax的支持,不仅体现在其对流行Ajax框架的集成上,更在于它通过一系列易于使用的标签和功能,极大地简化了Ajax技术的应用难度,使得开发者能够更加专注于业务逻辑的实现,而不是陷入技术细节的泥潭。...

    struts2实现ajax功能所需的jar包

    Struts2是一个流行的Java web开发框架,它提供了一种模型-视图-控制器(MVC)架构,使得开发者能够更方便地构建可扩展且易于维护的Web应用。在Struts2中实现AJAX(Asynchronous JavaScript and XML)功能,可以增强...

    struts2ajax

    通过学习和实践"struts2ajax"中的例子,你可以掌握如何在Struts2应用中有效地使用Ajax技术,提升用户体验,并深入理解Web开发中后端与前端的协作方式。这三个例子将覆盖基本的Ajax请求、使用Struts2插件以及自定义...

Global site tag (gtag.js) - Google Analytics