Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在会话中放置列表并在Javascript中使用_Java_Javascript_Session_Servlets - Fatal编程技术网

如何在会话中放置列表并在Javascript中使用

如何在会话中放置列表并在Javascript中使用,java,javascript,session,servlets,Java,Javascript,Session,Servlets,我有一个从数据库中提取的通知消息列表,并将其放入servlet中的会话中。然后使用requesDipstacher.forward(请求、响应)将其转发到jsp页面。现在,我获取消息列表并使用jstl循环它: <c:foreach value = "item" items = '${sessionScope.notification}'> <a href = "javascript:printAll('${item}'}>Print</a> </c

我有一个从数据库中提取的通知消息列表,并将其放入servlet中的会话中。然后使用
requesDipstacher.forward(请求、响应
)将其转发到jsp页面。现在,我获取消息列表并使用jstl循环它:

<c:foreach value = "item" items = '${sessionScope.notification}'>
   <a href = "javascript:printAll('${item}'}>Print</a>
</c:foreach>

现在我的问题是,我的网页中显示的
print
链接太多了。我想将整个列表发送到javascript中,并对其进行迭代,然后显示各个消息。javascript是否可以实现这一点。如果存在相同的问题,请向我指出。

如果将javascript放在页面的同一文件中没有问题,可以这样放置:

<script>
function printAll()
{
  var html = '<ul>';
  <c:foreach value = "item" items = '${sessionScope.notification}'>
    html += '<li>${item}</li>';
  </c:foreach>
  html += '</ul>';
  display(html);
}
</script>

<a href = "javascript:printAll();">Print</a>

函数printAll()
{
var html='
    '; html+='
  • ${item}
  • '; html+='
'; 显示(html); }

正如您所注意到的,有多种方法可以解决此问题。

您的意思是,您不想多次显示打印??那么,当您要显示通知消息时??请让我们知道你想要什么,更清晰的方式?它应该只发生在一个clik上…我只想通过一个超链接将整个列表带到javascript,在那里我想循环遍历它并显示通知。item只是列表在该迭代中包含的值
<script>
function printAll()
{
  var html = '<ul>';
  <c:foreach value = "item" items = '${sessionScope.notification}'>
    html += '<li>${item}</li>';
  </c:foreach>
  html += '</ul>';
  display(html);
}
</script>

<a href = "javascript:printAll();">Print</a>