`

Struts2.1使用注解配置json 用jquery读取后台数据

阅读更多
这两天要实现用jquery读取后台数据加载到前台显示,网上找了很多教程,大同小异,最终还是摸出来的.感谢互联网


我使用的是springside3.2,struts版本是2.18



一,首先是包的问题

开始根据网上下载了google的jsonplugin包,运行出错java.lang.NoClassDefFoundError:com/opensymphony/xwork2/util/TextUtils,到apache网站上发现从struts2.17开始就不再使用google的那个jsonplugin包了,不过官网没找到下载的链接,搜索下载了struts2-json-plugin-2.1.8.1.jar,json-lib-2.2.3-jdk15.jar,加载到项目后正常,除外lib还应包含commons-beanutils.jar,commons-collections.jar,commons-logging.jar,commons-lang.jar



二,Struts2中Action的配置

由于使用注解方式配置action,不用配置struts.xml.由于action类的父java包需要继承json-default,返回json数据,所以再新建一个专门返回json数据的action类,


//ParentPackage注解用来定义具体action类的父XWork包或java包,一定要配置

@ParentPackage("json-default")

//命名空间

@Namespace("/management")

//此action类所有方法返回json对象,必须配置

@Results(

{@Result(type="json")})


publicclass JsonAction extends ActionSupport{


//此处通过spring注入type的管理类,用来执行查询数据库动作

@Autowired

privateTypeManager      typeManager;


//返回的LIST数据,type是一个普通的javabean对象,这里只有id跟name属性

//返回success,json-lib会将所有java属性转换成一个的json数组,也可以直接在方法中返回JSONResult

private List<Type> typeList = new ArrayList<Type>();


……

//此处省略typeList的get和set方法,必须



publicStringfileType(){



typeList=typeManager.getAllType();



return SUCCESS;


}   }


//如果使用struts.xml,则配置如下


<struts>

<packagename="management" extends="json-default">

<actionname="Json" class="com.JsonAction">

<resulttype="json"/>

</action>

</package>

</struts>



三,jquery查询

也可以使用$.ajax()方法,这里使用getJSON()方法,只配置请求路径跟处理结果的方法,data值返回的是页面所有的属性组成的一个数组,可使用data.属性名取得相应对象,若程序无出错提示,但获取不到数据,可能是返回结果的结构读取不正确,可直接在地址栏上输入完整的请求路径,可以将返回的结果打开或下载,用记事本打开即可看到返回的json数据,再根据结构读取.从firebug控制台看响应的结果则更方便


$(document)

.ready(

function(){


//${ctx}是目录的路径

$.getJSON("${ctx}/management/json!fileType.action",function(data){



    $.each(data.typeList,function(i,item){


$("#typeId").append("<optionvalue="+item.id+">"+item.name+"</option>");


});

});


3
7
分享到:
评论
1 楼 tianzhijie11 2010-12-09  
代码不是一般的乱,你的方法好像不行。
@Results(

{@Result(type="json")}) 这里就通不过

相关推荐

    SSH+jquery

    SSH+jQuery是一个常见的Web开发技术组合,用于构建高效、交互性强的后台管理系统。SSH是Spring、Struts2和Hibernate三个开源框架的缩写,而jQuery则是一个强大的JavaScript库。在这个通用CRUD(创建、读取、更新、...

    Struts2.1.8 AJAX 读取XML,GSON,jQuery JSON

    在Struts2中,可以使用GSON库将Java对象序列化为JSON字符串,再通过AJAX发送到客户端,这样前端就可以用JavaScript解析JSON数据并更新DOM。 jQuery是一个广泛使用的JavaScript库,简化了HTML文档遍历、事件处理、...

    ssh整合+JSON+Jquery+Ajax

    然而,实际应用中,我们更多地使用JSON而非XML,因为JSON格式的数据更简洁且易于处理。 在这个项目中,可能的应用场景包括: 1. **用户界面交互**:使用Jquery处理用户的输入和行为,例如表单验证、按钮点击事件等...

    省市级联(采用技术==Struts+Hibernate+Spring+Jquery+Json)

    标题 "省市级联(采用技术==Struts+Hibernate+Spring+Jquery+Json)" 描述了一个基于Web的开发项目,该项目使用了多种技术来实现省市级联的动态下拉选择功能。在这个系统中,用户在选择省份后,城市列表会根据所选...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...

    jsp中利用jquery+ajax在前后台之间传递json格式参数.docx

    在JSP中,使用jQuery和AJAX进行前后台交互是一种常见的技术手段,特别是在处理动态数据和页面局部更新时。在本示例中,主要讲解如何通过AJAX将JSON格式的参数传递给服务器,并接收服务器返回的JSON数据。 首先,...

    struts2整合jquery例子

    4. **Struts2与jQuery结合**:通过Struts2的JSON插件,可以让Action直接返回JSON数据,jQuery可以解析并更新页面。这样实现了动态无刷新的页面更新,增强了用户体验。 5. **增删改查操作**:在Web应用中,最常见的...

    Jquery JSONObject类包

    配置完成后,可以使用`@Result(type="json")`注解或者在Action中返回`JsonResult`来返回JSON数据。 ### jar包的依赖 在Java项目中,为了使用jQuery的`JSONObject`和Struts2的JSON支持,需要引入以下jar包: - `...

    使用jquery-ztree插件,从数据库读取数据,显示在前端

    1.前端使用jquery-ztree插件,后端读取数据库,封装成json格式,在前端展示。数据库字段和Tree这个实体类的字段是一致的。struts2+spring架构。 2.另外里面还含有定时启动的例子。Spring-Quartz的配置和使用。

    json-2.4文档以及相关依赖jar包

    在Web开发中,JSON常被用于Struts2和jQuery之间的数据通信,比如在服务器端(Struts2)处理业务逻辑后,将结果以JSON格式返回给客户端(使用jQuery的页面),这样可以实现异步更新页面,提高用户体验。 JSON API...

    jQuery EasyUI与Struts2 的整合—属性驱动篇

    2. **CRUD操作**:通过jQuery EasyUI,开发者可以轻松实现创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)的数据管理功能。 ### CRUD效果与代码说明 #### 列表显示 在显示列表时,需要注意的是,如果...

    jQuery + struts2 专业类别、专业名称 二级联动列表

    2. **jQuery代码**:在事件处理函数中,使用`$.ajax()`或`$.getJSON()`发送请求到Struts2的Action,附带上选中的专业类别ID。 3. **Struts2后端**:创建一个Action,接收前端发送的请求,根据ID查询数据库(或读取...

    基于JQuery的datagrid分页数据实现

    这个小程序利用SSH2(Struts2、Spring、Hibernate)框架,结合Maven构建工具,实现了通过jQuery的datagrid插件进行Ajax分页加载数据的功能。以下将详细介绍其中涉及的技术和知识点。 1. **SSH2框架**:SSH2是Java ...

    Jquery progressbar通过Ajax请求获取后台进度演示

    在本文中,我们将深入探讨如何使用jQuery Progressbar与Ajax相结合,来实时展示后台处理任务的进度,特别是在一个基于Struts2框架的应用中。这个过程包括前端的jQuery Progressbar组件的设置,以及后端如何发送进度...

    struts2+jquery之form插件实现异步上传图片并显示

    然后使用jQuery的ajax方法,设置type为POST,dataType为'json'或'text'(取决于Struts2的返回类型),data参数使用FormData对象,将选择的文件添加到FormData中。同时,设置xhr对象的onprogress事件来实现上传进度的...

    SSH三大框架整合+ajax应用+jquery+json应用+分页+增删改查

    通过这个项目,开发者可以学习如何配置SSH框架,编写Action类,设置Action Mapping,使用Hibernate进行数据操作,以及如何在页面上利用Ajax和jQuery展示和处理JSON数据,同时实现分页和基本的CRUD功能。

    stuts2+ibatis+jQuery +UI + flexgrid+Json做的一个用户管理界面

    综上所述,这个用户管理界面利用Struts2进行请求处理和业务逻辑控制,iBatis负责数据访问,jQuery提升用户体验,FlexGrid提供了高效的数据展示,而UI设计和Json则确保了良好的交互性和数据传输效率。这样的技术组合...

    ztree+struts2+hibernate项目

    在这个项目中,Struts2负责接收用户的请求,调用相应的Action进行业务处理,并返回视图或者JSON数据给前端。 【Hibernate】是Java领域的一款持久化框架,它简化了数据库操作,通过ORM(对象关系映射)技术将Java...

    动态生成树 在数据库里配置数据,在前端显示树 jquery-ztree

    在本例中,后端会读取数据库中的配置信息,然后将这些数据封装成JSON格式,这是zTree所期望的数据格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    研磨Struts2

    - **注解配置**:也可以使用注解的方式来进行配置,这种方式更加简洁。 - **异常处理**:自定义Action时还需要考虑如何处理可能发生的异常情况。 ### 知识点四:Result详解 #### 4.1 Result的作用 Result是Struts...

Global site tag (gtag.js) - Google Analytics