【问题标题】:Session Setattribute is taking only last value from the loop会话 Setattribute 仅从循环中获取最后一个值
【发布时间】:2016-01-31 14:20:39
【问题描述】:

这是我的 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,但会话属性始终存储最后一个作业 ID,我无法获取其他作业 ID,我该如何解决这个问题

【问题讨论】:

  • 你只返回一个值。
  • 因为你的代码 session.setAttribute("jobid", jobid);

标签: javascript java jquery jsp session


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-03-10
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多