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

jsp获取json元素中的子元素如deptName,personName,第1张

<%@ 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文件,网上搜索。

处理后如下:

其实很简单 第一个方法用A标签不用submit按钮 href里面写你form要提交到的地址然后后面跟的形式将参数传递过去 比如 <a href="deletejspgoodsId=0">删除</a> <a href="deletejspgoodsId=1">删除</a> 这样你在deletejsp页面中通过requestgetParameter("goodsId");就能获取被点击的超链接的goodsId的值 第二种用button 不采用submit按钮而是用button 然后在onclick中写一个js方法 比如 <input type="button" onclick="deleteGoods(0)" value="删除"/> <input type="button" onclick="deleteGoods(1)" value="删除"/> <script type="text/javascript"> function deleteGoods(goodsId){ var form = documentgetElementById('form1');//假设提交的表单id为form1 formaction = "deletejspgoodsId="+goodsId; formsubmit(); } </script> 同样你在deletejsp页面中通过requestgetParameter("goodsId");就能获取被点击的超链接的goodsId的值

我觉得你如果是用<%@include file="bjsp"%>,它是在编译期间运行的,

你的这个document是在运行期间才取值的,所以应该换成

<jsp:include page=”bjsp” flush=”true”/>

你试试吧。

1页面上有一个<form><input type="hiddent" name="hiddenValue" id="hiddenText" /></form>

2你可能是用js把值像这样设置

var hiddentext = documentgetElementById("hiddenText");

hiddentextvalue="你的参数的ID"

3后台的action中

requestgetParameter("hiddenValue");

over

你需要注意的是

在页面上js通过控件的ID也就是id="hiddenText"来获取该控件

而后台的ACTION则是通过控件的name也就是name="hiddenValue"属性来获得控件的值

如果你是采用的传统的ACTION提交方式,则页面上需要一个<form></form>

HTML:

<form action="ajsp">

<input type="text" name="test_data"/>

<input type="submit" value="提交" />

</form>

ajsp:

<%

String testData = requestgetParameter("test_data");   // 即可获得test_data的值。

%>

扩展资料:

页面间链接和数据传递的三种方式

(1)通过JSP表单形式将数据提交到下一个页面;

(2)通过JSP表单链接将数据提交到下一个页面;

(3)通过JSP表单会话将数据提交到后续页面,会话是一次会话只要浏览器不关闭就不会关闭会话,一般默认保存30分钟可以根据自己的需要更改。

<c:forEach var="" items="key" varStatus="item">

<c:out value=”${itemxxx}”/> 当前对象

</c:forEach>

但是还有一种方法通过js获取下拉框的值<select name="sel" onchange="check()"> -- 增加onchange事件<%while (rsnext()) {%><option value=""> -- 这里没有给选项赋值-- 改为,如:<option value="<%=rsgetString(1)%>"><%=rsgetString(1)%></option> <%}%></select><script type="text/javascript">function check(){var id = documentgetElementsByName("sel")value;-- 获取下拉框的值如:拼接url打开页面,var url = 'xxxxdoid=' + id;//注,具体的url你要自己拼写,我这个是列子,不能用的方法1,在本窗口打开页面:windowlocation = url ;方法2,新窗口打开页面windowopen(url)}</script> 追问: 我终于发现了,能读取数据,可是把读取的数据放入数据库中就有问题了,难道还要转码才行吗? 回答: 当然`~~ 追问: 页面编码是gb2312那我要怎样转码呢? 回答: 首先你要知道你的数据库的是什么编码的,你页面的编码要符合你数据库的编码,这样的转码才是正确的 追问: 现在我不是从页面读取数据了,而是直接在程序中测试DatevalueOf("1987-3-7")比如我用这样的方法把这个数据放到数据库中去就自动变成了1905-6-1了,感觉太怪了这个就和编码无关了 回答: 你具体的代码我也不知道,也不好给你说,给你个UTF-8转GB2312的代码吧private String utf8Togb2312(String str){StringBuffer sb = new StringBuffer();for(int i=0; i<strlength(); i++) {char c = strcharAt(i);switch (c) {case '+':sbappend(' ');break;case '%':try {sbappend((char)IntegerparseInt(strsubstring(i+1,i+3),16));}catch (NumberFormatException e) {throw new IllegalArgumentException();}i += 2;break;default:sbappend(c);break;}}String result = sbtoString();String res=null;try{byte[] inputBytes = resultgetBytes("8859_1");

以上就是关于jsp获取json元素中的子元素如deptName,personName全部的内容,包括:jsp获取json元素中的子元素如deptName,personName、JSP可以获取网页的元素的id吗、js document.getElementById获取jsp中<%@include file="b.jsp"%>中的文档元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存