【发布时间】:2014-02-02 23:16:47
【问题描述】:
我有一个 servlet,其中我在会话范围内存储了一个数组,如下所示,
session.setAttribute("pageNames",pageNames);
现在这个 servlet 将控制转移到一个 JSP 页面,该页面在加载时调用函数 'getPage()',如下所示,
<body id="qwer" onload="getPage('<%=(String[])session.getAttribute("pageNames")%>'>
'getPage()'的javascript代码如下,
function getPage(pageNamesArray)
{
var ele = document.getElementById('app');
for(var i=0;i<10;i++)
{
var imageLabel = document.createElement("label");
imageLabel.innerHTML = pageNamesArray[i];
ele.appendChild(imageLabel);
}
}
我希望我会从存储在会话中的“pageNames”数组中获取前 10 个值的名称,但我得到的是以下输出,
[Ljava.lang.String;@17a8undefinedundefinedundefined
我在我的 servlet 中测试了代码,发现数组 'pageNames' 填充了 40 多个值。
谁能建议我如何从 JSP 页面? 提前致谢。
【问题讨论】:
-
JSP 是一种服务器端技术。它呈现作为 HTTP 响应正文发送的 HTML。 Javascript 是一种客户端技术,通常在浏览器中执行 HTML 中包含的脚本。
-
@SotiriosDelimanolis 那么如何从 jsp 页面访问数组?
-
您必须将数组的内容序列化为可以在 javascript 中表达和解析的格式(可能是 JSON)。
标签: java javascript jsp jakarta-ee servlets