JSP获得后台数组数据处理

发布于 2021-11-25 13:24:10 字数 228 浏览 793 评论 18

在JS中,使用<%String[] arr=(String[])request.getattribute("arr")%> ,如果放到var data=[[<%=arr%>],[<%=arr1%>]] ,
得到的是内存地址,怎么实现,想了好久,想不到

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(18

孤檠 2021-11-26 04:52:13

那个语法错误可以无视它

protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

	

		String[][] as2 = { { "", "Kia", "Nissan", "Toyota", "Honda" },
				{ "2008", "10", "11", "12", "13" },
				{ "2009", "10", "11", "12", "13" },
				{ "2010", "10", "11", "12", "13" } };

		request.setAttribute("arr2", as2);
		request.getRequestDispatcher("test.jsp").forward(request, response);

	}

<script type="text/javascript">
		$(document).ready(function() {	
			var data2=[<c:forEach var="item" items="${arr2}">[<c:forEach var="item2" items="${item}">"${item2}",</c:forEach>],</c:forEach>]
			$('#example').handsontable({
				data : data2,
				    startRows: 6,
				    startCols: 8
			});
		});
	</script>
	<div id="example" class="handsontable"></div>

你只要保证前台生成的javascript的array是正确的就行.

浮生未歇 2021-11-26 04:52:13

回复
为什么要在jsp里拼接json? 在服务器直接生成json数据, js直接处理json就好了啊.

晚风撩人 2021-11-26 04:52:13

var data =[<c:forEach var="item" items="[[Ljava.lang.String;@590f24fc">[<c:forEach var="item2" items="">"",</c:forEach>],</c:forEach>] 我快崩溃了,还是没有画表格 这是源码

小瓶盖 2021-11-26 04:52:13

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

你在jsp页面上没写吧....

还有这样类似的情况还是把java对象转换成json,到前台处理好些。

睫毛上残留的泪 2021-11-26 04:52:13

多谢,问题解决了,就是要json,非常感谢这几天的帮助。JSP无法直接识别一个对象,如果要使用对象,需要剖析出每一个String;而传一个String是可以,因为json有固定的格式,所以传json是最完美的。我的总结对吗?

千纸鹤带着心事 2021-11-26 04:52:12

回复
你好好看看如何将JAVA对象转换成JSON吧。

小瓶盖 2021-11-26 04:52:12

API是这样写的 data : Array of Arrays (default [ [] ]) data : Array of Objects data : Function

浮生未歇 2021-11-26 04:52:11

回复
问题解决了,真的是json,arr->json->tostring

本王不退位尔等都是臣 2021-11-26 04:52:07

引用来自“char1st”的评论

var data=[<c:forEach var="item" items="${arr}">"${item}",</c:forEach>];

南冥有猫 2021-11-26 04:52:07

你data里放的是json对象, 而你java中取出来的是string数组。 

深巷少女 2021-11-26 04:52:04

引用来自“char1st”的评论

var data=[<c:forEach var="item" items="${arr}">"${item}",</c:forEach>];

樱花落人离去 2021-11-26 04:51:52

非常感谢 ,但是 这段代码在 ${item} 有错,语法错误。可能是不支持这样写

奢望 2021-11-26 04:49:42

我再火狐上没问题啊 。最后生成的javascritp类似这样的 var data=["value1","value2","value2",];

琴流音 2021-11-26 03:27:57

回复
那我再试试,我想了很多方式,好像只有这个方法可行,不管是JSON,还是什么变量,得到的都是对象,而arrray.push方法也放不进去,这个有点不解,我对JS接触的少,见谅,能什么方式能联系到您吗

妖妓 2021-11-26 02:41:47

回复
能把错误贴出来么? 我看下

心舞飞扬 2021-11-26 02:32:46
var data=[<c:forEach var="item" items="${arr}">"${item}",</c:forEach>];

一人独醉 2021-11-25 23:23:15

引用来自“指尖的舞者”的评论

[<%=arr1[0]%>]]

卸妝后依然美 2021-11-25 16:24:21

我觉得有好几种方法 1,通过arr〔i〕 2,用EL表达式特别方便,楼主试下

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文