jsp加载时怎么获取后台list集合并遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp加载时怎么获取后台list集合并遍历相关的知识,希望对你有一定的参考价值。

我后台有两个list集合,jsp页面加载时,我要先获得集合的值,然后把集合的值遍历出来,成为jsp页面的左菜单,一个list是菜单的名,一个是菜单的标记参数(如下面的,emp,date,user,等参数)。求详细代码,步骤我明白,代码不会写。
下面是我jsp代码,目前是写死的。我不用struts2什么的框架,就是 servlet。

<body class="frame_class">
<div id="topDataTd" width="450" height="66" style="background-color: #5356FF">
<h1 style="font-size: 45px;color: #FFFFFF;"> Excel 管理</h1>
</div>
<div id="leftPanel">
<div id="menuList" >
<h1>excel添加</h1>
<ul style="">
<li><a href="skip.do?params=emp" onclick="change(this)" target="mainFrame">emp单表</a></li>
<li><a href="skip.do?params=date" onclick="change(this)" target="mainFrame">日期-单表</a></li>
<li><a href="skip.do?params=user" onclick="change(this)" target="mainFrame">user单表</a></li>
<li><a href="skip.do?params=role" onclick="change(this)" target="mainFrame">role单表</a></li>

1、首先,需要JSTL-1.2的jar包,自行百度搜索下载。

2、将JSTL-1.2的jar包放入web工程的lib文件夹下。

3、在需要的遍历List的页面中引入JSTL的核心标签库。

4、使用<c:forEach><c:forEach/>标签遍历List数组。

5、【items】中使用EL表达式,来拿到List数组。

6、【var】用指定变量名来接收遍历数组的值。

7、利用EL表达式,将var中的值取出,即可。

8、展示效果。

参考技术A 代码示例,供参考。

<html
<head> 
</head> 
<body> 
<body class="frame_class">
<div id="topDataTd" width="450" height="66" style="background-color: #5356FF">
<h1 style="font-size: 45px;color: #FFFFFF;">    Excel 管理</h1>
</div>
<div id="leftPanel">
<div id="menuList" >
<h1>excel添加</h1>
<ul style="">
<%!
list=request.getattribute("你在request中设置的列表名称")//获取列表
PrintWriter out = response.getWriter();
For(int i=0;i<list.size();i++)//for循环遍历列表,输出ul中的li

out.println("<li href='"+list[i].getUrl()+"' >"+list[i].getName()+"</li>")
 
%>
<ul>
</body> 
</html>

追问

很强大,但是它怎么知道去那个action中取list集合呢?这个在那写?我是刚上来就加载这个页面。

追答刚上来就加载这个jsp页面?  那你的数据是从哪里来的? 

比如是数据库,你可以把

list=request.getattribute("你在request中设置的列表名称")

改成:

UserDao ud = new UserDao();
list = ud.getUserList();


所以,你在java中是怎么取list中的数据,那在jsp的<%  %>中就怎么取好了。

追问

非常感谢,我去试试。能加我Q吗? 237613433

本回答被提问者采纳
参考技术B struts标签可以自动遍历获取的列表,不用struts,我觉得可以在页面中嵌入java代码的方式实现:现在servlet的方法里用request.setattribute添加列表
<%!
list=request.getattribute()//获取列表
%>
<% for()//再写一个for循环遍历
%>
<li><%=获取列表值 %></li>
<%
%>

你试试看吧追问

我需要在页面加载时获取到这个list。然后显示成这个页面的菜单。该怎么弄呢?

参考技术C 不用其他框架,就用servlet,你在后台处理时,session里面把你说的list的值set进去,例如:session.setAttribute(key,value)。在前台页面中用<% List list = (List)session.getAttribute(key)%>得到,然后for循环,遍历list变量。追问

求详细代码,我知道步骤,代码写不出来。而且我也没有用session。全是 reuqest,response

参考技术D 定义一个类,在页面直接用方法获取就行

以上是关于jsp加载时怎么获取后台list集合并遍历的主要内容,如果未能解决你的问题,请参考以下文章

怎样在jsp页面提取list集合的第一位第二位第三位等等的数据

jsp页面中同时遍历多个list集合

jquery从后台取得list,怎么遍历出来(foreach显示到页面上也就是相当于在jsp页面用foreach显示出来)

jsp中 查询mysql中的一个用户集合 查出来后放入list中..然后遍历这个list怎么写?

集合LIST中每个元素都是MAP集合的键,在JSP中循环遍历LIST时,如何用EL表达式取得改遍历值在MAP中对应值

js中怎么判断一个list中包含对象数量