首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

struts2.1.8 、json插件和jquery调整

2013-11-08 
struts2.1.8 、json插件和jquery整合struts2.1.8 、json插件和jquery整合?1、必须的jar包struts2-json-plugin

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" namespace="/func" extends="default-package">

<action name="getFuncInfoByAjax" 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转换的时候,被转换的对象中不能出现引用自身的属性,或者说不能出现循环引用,

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

?

热点排行