2011-03-29 105 views
0

我是JSP的总新手。 我只能从另一个网页的表单标签接收数据。 我不知道任何MCV(MVC?),也不知道自定义标记,会话,cookie或任何比这更深的东西。在JSP中,如何使用锚标签传递ArrayList?

我需要的是将一个ArrayList传递给另一个使用锚标签的动态生成的JSP页面。 这里是规范。

基本上我有一个2维ArrayList。 第一个维度在第一个JSP页面中迭代并列出。

所以第一个JSP页面应该是这样的:


这是ArrayList1。大小为23.

这是ArrayList2。大小为19.

这是ArrayList3。大小是12。

..

..

..

这是ArrayList的(N)。的大小为1


每一行是一个锚定标记,并且当用户点击它, 相应的ArrayList被传递到第二JSP页面。

第二个JSP页面,它所做的就是接收一个ArrayList,并遍历它并列出其中的数据。 所以需要只有一个“第二个JSP页面”,因为它一次只能接收一个ArrayList。它只是需要动态。

我知道如何迭代JSP页面中的ArrayList。 我不知道如何使用锚标签将ArrayList传递到另一个JSP页面。

欢迎任何提示或方法。我做了一些自己的搜索,但所有的评论对我来说都太高级了。我会很感激任何帮助。谢谢。

回答

0

我认为你不应该这样做的方式。相反,你可以采取以下的方式。它更容易,更可能。

理念: - 将所有的ArrayList到

request.setAttribute("arraylist1",Arraylist1); 
request.setAttribute("arraylist2",Arraylist2); 
..... 

- 在每个锚标记,你把一个ID识别哪些链接是点击

(e.g. <a href="b.jsp?id=arraylist1">your link </a>) 

- 在b.jsp,得到id参数这行代码

String selectedLink = request.getParameter("id") 
  • 比较是否selectedLink = arraylist1
  • List selectedArray =(List)request.getAttribute(selectedLink);

希望这个有用

NathanPhan

+0

感谢您的回复!我尝试了类似于你的答案。我将每个ArrayList的Key传递给另一个JSP页面。在第二个JSP页面中,我再次从MySQL调用相应的ArrayList。我不知道这是否是耗时的最佳方案,但它对我来说足够简单:) – mp2893 2011-04-01 02:43:57

+0

这很有用吗? – Nathanphan 2011-04-01 02:45:52

+0

哦,我像30秒前编辑我的回复。巧合:)我希望我的第一个评论是对你的问题的回答。 – mp2893 2011-04-01 02:48:13

0
  1. 你可能不想这样。
  2. ,如果你真的想这样做,那么
  3. 它是不是真的JSP相关的问题,相反,它是HTTP相关问题
  4. ,您可以加入与逗号阵列中的内容,整个字符串追加为查询url中的字符串组件。

例如:

在a.jsp你有一个链接:

b.jsp?array=1,2,3,4,5 

b中。JSP你解释阵列串并得到一个ArrayList:

[1,2,3,4,5]

+0

感谢您的答复。但你为什么建议“我可能不想这样”?我的架构是一个坏主意吗?而且,我不能在查询字符串中追加一个ArrayList吗? – mp2893 2011-03-30 00:09:33

+0

看起来有点奇怪,如果数组中的数据不是很大,那么它可能是好的,如果数据很大,您可能想要将数据存储在服务器端,并将一个键传递给页面中的数组页面。似乎没有直接的将'ArrayList'追加到,http不知道'ArrayList'。 – 2011-03-30 01:20:05