导航栏动态多级菜单如何实现,子菜单从数据

导航栏动态多级菜单如何实现,子菜单从数据,第1张

用json格式,异步请求,当你点击一级菜单的时候,js触发,通过ajax异步把相关参数传到后台,查询出来的数据,然后封装成json格式数据返回,js拿到数据后,通过js把数据设置到页面相应的地方!

如果是简单的JSON 字符串 , 那么可以使用字符串的截取 来获取 需要的数据

如果是比较复杂的JSON对象, 那么可以使用第三方的jar, 去解析JSON

比如 GSON ,Fastjson 等都是不错的选择~效率也比较高

<%@ page language="java" import="javautil" pageEncoding="gbk"%>

<%@page import="orgjsonsimpleJSONObject"%>

<%@page import="orgjsonsimpleparserJSONParser"%>

<%@page import="orgjsonsimpleJSONValue"%>

<%@page import="orgjsonsimpleJSONArray"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">

<html>

<head>

<title>获取json内部数据html</title>

<meta >

<meta >

<meta >

<!--<link rel="stylesheet" type="text/css" href="/stylescss">-->

</head>

<body>

<table id="deptPersonList" title="部门信息列表" class="easyui-datagrid"

singleSelect="true" fit="true" pagination="true"

idField="deptPersonId" url="deptPersonInfo" width="800px"

rownumbers="false" striped="true">

<thead>

<tr>

<th field="deptPersonId" width="6" checkbox="true">

编号

</th>

<th field="sysPerson" width="60%" sortable="true">

人员名称

</th>

<th field="sysDepartment" width="30%" sortable="true">

部门名称

</th>

</tr>

</table>

</body>

<script type="text/javascript">

/

json格式如下

{"total":11,"rows":[{"deptPersonId":"1","sysDepartment":{"deptName":"人事"},"sysPerson":{"personName"}}]}

/

var json = {"total":11,

            "rows":[{"deptPersonId":"1",

         "sysDepartment":{"deptName":"人事"},

                     "sysPerson":{"personName":"张丽安"}

                    }

                   ]

           };

/

获取josn对象数据,是一层一层进行的。

/

/

js获取json元素中的子元素如deptName,personName

/

alert(jsonrows[0]sysDepartmentdeptName);

alert(jsonrows[0]sysPersonpersonName);

</script>

<%

//jsp获取json元素中的子元素如deptName,personName

//================

//使用 json_simplejar包 处理json字符

//然后获取json对象中的数据

//================

//声明JSON字符串

String json = "{\"tota\":11,"+

               "\"rows\":["+

                         "{\"deptPersonId\":\"1\","+

                        "\"sysDepartment\":{"+

                                           "\"deptName\":\"人事\"},"+

                                           "\"sysPerson\":{\"personName\":\"张丽安\"}"+

                                           "}"+

                       "]"+

              "}";

//===============================

// 最终的JSON字符如下:

//       {"total":11,

    //        "rows":[{"deptPersonId":"1",

//          "sysDepartment":{"deptName":"人事"},

    //                 "sysPerson":{"personName":"张丽安"}

    //                }

    //                ]

    //        }

//

// 注意查结构

//================================

//{"tota":11,"rows":[{"sysPerson":{"personName":"张丽安"},"sysDepartment":{"deptName":"人事"},"deptPersonId":"1"}]}

//将字符串转化为JSON对象

Object JSON = JSONValueparse(json);

//JSONObject继承自 HashMap

JSONObject JO = (JSONObject) JSON;

outprint(JSONtoString());

outprint("<br>");

//查看JSONObject对象元素长度

int length = JOsize();

outprint(length);

outprint("<br>");

outprint(JOtoString());

outprint("<br>");

//循环打印出元素数据

//for(int i = 0 ;i < length ; i++ ){

outprint("tota:<font color=red>" + JOget("tota") + "</font>");

outprint("<br>");

outprint("tota:<font color=red>" + JOget("rows") + "</font>");

outprint("<br>");

String rows = JOget("rows")toString();

//再次将rows对象转化为 JSONObject对象

JSONArray JO1 = (JSONArray) JSONValueparse(rows);

outprint(JO1size());

outprint("<br>");

JSONObject JO2 = (JSONObject)JO1get(0);

outprint("sysPerson:<font color=red>" + JO2get("sysPerson") + "</font>");

outprint("<br>");

outprint("sysDepartment:<font color=red>" + JO2get("sysDepartment") + "</font>");

outprint("<br>");

//再次获取

outprint("personName:<font color=red>" + ((JSONObject)JO2get("sysPerson"))get("personName") + "</font>");

outprint("<br>");

outprint("deptName:<font color=red>" + ((JSONObject)JO2get("sysDepartment"))get("deptName") + "</font>");

outprint("<br>");

//===================================

// 备注 信息

// JSONObject 可以转化为 {key:value}形式的 JSON对象,该对象继承自 HashMap ,所以可以使用HashMap的方法

// JSONArray  可以装维为 [object,object,……] 形式的数据对象,该对象继承自ArrayList,

// 灵活运用,可基本满足 需求。

//}

%>

</html>

你需要 下载 json_simple-11-allzip文件,网上搜索。

处理后如下:

假如你这个json对象用变量j表示

用下面代码

var t='', k=jstudentjson;

//得到数组k

for(var i=0;i<klength;i++){

    var m=k[i];

    t+=['<tr><td>'+m['学号'],m['姓名'],m['性别'],m['班级']+'</td></tr>']join('</td><td>');

}

t='<table><tbody>'+t+'</tbody></table>';

//得到表格html代码t

以上就是关于导航栏动态多级菜单如何实现,子菜单从数据全部的内容,包括:导航栏动态多级菜单如何实现,子菜单从数据、java怎么获取json对象中的数据、jsp获取json元素中的子元素如deptName,personName等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9759861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存