`
zhangfeilo
  • 浏览: 400104 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

struts2.1.8 、json插件和jquery整合

阅读更多

struts2.1.8 、json插件和jquery整合

 

1、必须的jar包

struts2-json-plugin-2.1.8

json-lib-2.3-jdk15

ezmorph-1.0.6

jakarta commons-lang 2.4

jakarta commons-beanutils 1.7.0

jakarta commons-collections 3.2

jakarta commons-logging 1.1.1

2、struts.xml配置

a、直接继承json-default包

<package name="default-package" abstract="true" extends="json-default">

<!-- 中间定义其他元素 -->

</package>

b、添加以下元素到struts.xml文件中(其实下面的xml代码也就是struts2-json-plugin-2.1.8包中struts-plugin.xml的内容

这里只是把它提出来放到struts.xml文件中,避免继承包)

<result-types>

            <result-type name="json" class="org.apache.struts2.json.JSONResult"/>

        </result-types>

        <interceptors>

            <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>

        </interceptors>

3、action配置 注意下面的result类型type 以及参数root,田type指定结果类型为json

而参数root用来指明将action中的哪个参数作为json串返回给客户端

<package name="func" namespace="/func" extends="default-package">

<action name="getFuncInfoByAjax" class="funcAction" method="getFuncInfoByAjax">

<result name="success" type="json">

<param name="root">jsonFuncInfo</param>

</result>

</action>

</package>

4、action代码:

 

public String getFuncInfoByAjax(){ func = getFuncService().findById(getFuncId()); FuncInfo funcInfo = new FuncInfo(); funcInfo.setId(func.getId()); funcInfo.setName(func.getName()); if( func.getFunc() != null){ funcInfo.setParentId(func.getFunc().getId()); funcInfo.setParentName(func.getFunc().getName()); } funcInfo.setMenuType(func.getMenuType()); funcInfo.setType(func.getType()); funcInfo.setUrl(func.getUrl()); funcInfo.setRemark(func.getRemark()); JSONObject jsonObject = JSONObject.fromObject(funcInfo); jsonFuncInfo = jsonObject.toString() ; return SUCCESS ;} 

 

5、jsp页面代码:

<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery/jquery-1.4.2.min.js"></script>

function fillFuncInfo(){ var funcId = tree.getSelectedItemId(); //alert(funcId); var url = "<%=request.getContextPath()%>/func/getFuncInfoByAjax.action"; $.getJSON(url,{funcId:funcId,ran:Math.random()},function(json){ if(json.length > 0){ var jsonFuncInfo = eval("("+json+")"); $("#funcName").html(jsonFuncInfo.name); $("#funcParentName").html(jsonFuncInfo.parentName); if( jsonFuncInfo.type == "F" ){ $("#funcType").html("目录"); } else if( jsonFuncInfo.type == "F" ){ $("#funcType").html("链接"); $("#funcUrl").html(jsonFuncInfo.url); } if(jsonFuncInfo.menuType == "Y" ){ $("#funcMenuType").html("菜单项"); } else { $("#funcMenuType").html("页面链接"); } $("#funcRemark").html(jsonFuncInfo.remark); } }); }

 

6、测试,OK!

需要注意的地方 使JSONObject转换的时候,被转换的对象中不能出现引用自身的属性,或者说不能出现循环引用,

这样转换不会有任何结果,貌似也不报错!

 

0
1
分享到:
评论

相关推荐

    struts2.1.8+json+jquery

    总结来说,"struts2.1.8+json+jquery"的组合展示了如何在Java Web开发中利用Struts2处理业务逻辑和HTTP请求,通过JSON高效地传输数据,以及利用JQuery在前端实现动态页面效果。这种技术栈可以提高开发效率,简化前后...

    struts2.1.8+json+jquery1.3实现ajax

    在这个项目中,`struts2.1.8+json+jquery1.3实现ajax`,开发者可能做以下步骤: 1. 配置Struts2:首先,需要在Struts2的配置文件(struts.xml)中配置Action,指定返回JSON类型的结果。这通常通过在Action类的方法上...

    struts2.1.8 jquery json jax

    在描述中提到,此版本与jQuery和JSON结合使用,实现了AJAX登录验证功能,使得用户交互更为流畅。 jQuery是一个高效、简洁且易用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax交互。在这个项目...

    struts2.1.8 json

    在Struts2.1.8版本中,对JSON(JavaScript Object Notation)的支持已经相当成熟,允许开发者实现服务器与客户端之间的数据交换,特别是在AJAX(Asynchronous JavaScript and XML)交互中。 JSON是一种轻量级的数据...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

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

    在本案例中,Struts2.1.8与AJAX结合,用于从服务器获取数据并动态更新视图,同时涉及了XML、GSON和jQuery JSON三种数据交换格式。 XML(Extensible Markup Language)是一种标记语言,常用于数据交换,特别是在前后...

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

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

    struts2-json-plugin-2.1.8.zip_Java 8_json-plugin-2.1.8

    Struts2 JSON Plugin 2.1.8 是一个专门针对Apache Struts2框架设计的插件,用于支持JSON(JavaScript Object Notation)数据格式的处理。这个插件使得Struts2应用程序能够方便地生成和消费JSON,从而在Web应用中实现...

    Json+Struts2+JQuery及JQuery相关插件的例子,json架包...

    通过这个例子,你可以学习到如何在实际项目中结合使用Struts2、JQuery和JSON,包括如何配置Struts2的JSON插件,如何在JQuery中处理JSON数据,以及如何利用JQuery的插件来美化和增强用户界面。同时,理解和掌握JSON的...

    jquery与struts2整合

    在整合jQuery和Struts2之前,我们需要确保所有的依赖库已经正确地引入到项目中。关键的jar包包括: - commons-fileupload-1.2.1.jar:用于文件上传 - struts2-core-2.1.8.jar:Struts2的核心库 - ognl-2.7.3.jar:...

    与struts2配套的JSON架包

    本知识点将详细介绍如何在Struts2项目中集成和使用JSON包。 1. **JSON简介**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript语法,但不是JavaScript的一个子集...

    struts 2 自选包

    9. **插件系统**:Struts 2拥有丰富的插件集,如JSON插件、Freemarker插件等,可以扩展框架功能,满足不同需求。 10. **安全考虑**:虽然Struts 2.1.8版本相对较旧,但在其时已经包含了对XSS(跨站脚本攻击)和CSRF...

    Struts2 + jQuery 实现ajax.txt

    通过上述步骤,我们可以利用Struts2、Hibernate、Spring和jQuery搭建起一个支持Ajax交互的Web应用程序。这种方法不仅提高了开发效率,还增强了应用程序的功能性和用户体验。希望本文能为你提供有价值的参考。

    SSH等jar包

    │ struts2-json-plugin-2.1.8.jar │ struts2-spring-plugin-2.1.8.jar │ xwork-core-2.1.6.jar │ ├─struts │ commons-fileupload-1.2.1.jar │ freemarker-2.3.15.jar │ jstl.jar │ ognl-2.7.3.jar │ ...

Global site tag (gtag.js) - Google Analytics