Session Setattribute仅从循环中获取最后一个值

时间:2015-10-31 04:49:32

标签: javascript java jquery jsp session

这是我的Jsp代码,在这里我得到了一些工作列表,当我点击它时它应该将jobid作为会话发送到下一个jsp

<%
    ArrayList jobs = new ArrayList();
    jobs = master.getJobList(candidate.getEmailId());

    if (!jobs.isEmpty()) {
        for (int i = 0; i < jobs.size(); i++) {
            jobs.get(i).getJobTitle().toUpperCase().charAt(0);
%>
<div class="box inner" id="jobdetail<%=i%>">
    <span class="pull-left img-circles" id="titleChar<%=i%>"> <%=jobs.get(i).getJobTitle().toUpperCase().charAt(0)%>
    </span>
</div>

<script>
                                    $("#jobdetail<%=i%>").click(function() {
                                    <%String jobid = jobs.get(i).getJobId();
                    session.setAttribute("jobid", jobid);%>
                                        //var jobid=$("#jobid<%=i%>").val();                                                 
                                        //sessionStorage.setItem("jobid","jobid");
                                        alert("<%=jobs.get(i).getJobId()%>
    ");

                        window.location.location("jobdetail.jsp");
                    });
</script>
<%
    }
    } else {

        out.println("No Applied Jobs ");

    }
%>

jobdetail.jsp我添加了session.getAttribute("jobid")。如果我点击其中一个作业时显示5个作业,它只返回最后一个作业的作业ID,我添加了一个警告框来检查和警报框返回正确的作业ID,但会话属性始终存储最后一个的jobid,我无法获得其他jobid,我怎么能解决这个问题

1 个答案:

答案 0 :(得分:1)

你试试这个代码。它存储对象列表,然后您可以将它放在会话属性中。把它弄回来。

HttpSession session = request.getSession();
List list = new ArrayList();
list.add(jobid);
list.add(jobid);
session.setAttribute("listObject", list);