使用按钮单击时的会话将动态值从一个jsp页面传递到另一个jsp页面

时间:2016-03-26 11:44:04

标签: java jsp

我正在使用java制作求职网页应用程序。我已经为每个作业分配了一个作业ID,我在数据库的引导表中显示作业列表。在每个按钮上单击我需要将此作业ID转发到jsp页面,我将申请人名称添加到与作业对应的数据库中。我的代码是:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="com.dbutil.CrudOperation"%>
<%@ page import="java.util.*,java.sql.*" %>
<%@ page import="javax.servlet.http.HttpSession" %>


<html>
<head>
      <title>Job List</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="css/jobs.css">
  <script src="jquery.js"></script>
  <script src="bootstrap.min.js"></script>

</head>

<body data-spy="scroll" data-target=".navbar" data-offset="50">

 <% Connection con = null;

            ResultSet rs = null,rs1=null;
            PreparedStatement ps = null;
            HttpSession hs = null;
            hs=request.getSession();
            con = CrudOperation.createConnection();



                %>

<div class="container">



     <%String strsql = "select * from postjob1 where sr>0";
                    try {
                        ps = con.prepareStatement(strsql);

                        rs = ps.executeQuery(); %>








 <div class="table-responsive">
  <table class="table table-bordered">
    <thead>
      <tr>
          <th>Job Id</th><th>Job Category</th><th>Available Posts</th><th>Required Qualifications</th><th>Salary Details</th><th>Location</th><th>Last date of application</th><th></th>
      </tr>
    </thead>
    <% while (rs.next()) {

                %>
    <tbody>

        <tr><td><%=rs.getString("id")%></td><td><%=rs.getString("jobcategory")%></td><td><%=rs.getString("available")%></td><td><%=rs.getString("requiredqualification")%></td><td><%=rs.getString("salarydetails")%></td><td><%=rs.getString("location")%></td><td><%=rs.getString("lastdate")%></td><td><a href="jobDetails.jsp"><button type="button" class="btn btn-primary" onclick="<% hs.setAttribute("ID",rs.getString("id")); %>" >View Details </button></a></td></tr>

    </tbody>
     <%}
                            } catch (SQLException se) {
                                System.out.println(se);
              }%>
  </table>

 </div
</div>

</body>
</html>

当我在其他jsp页面中检索会话值ID时,我遇到了困难,因为无论我点击哪个按钮,我都会得到表格中最后一行的ID。请帮我运行我的代码。谢谢!

2 个答案:

答案 0 :(得分:0)

您正在覆盖会话属性ID。执行while循环后,它只存储最后一个值。

一种可能的解决方案是将调用的URL中的id传递给下一页。

<a href="jobDetails.jsp?idJob=<%=rs.getString("id")%>">
     <button type="button" class="btn btn-primary">View Details</button>

您可以使用

恢复jobDetails.jsp中的参数
request.getParameter("idJob")

注意:我在JSP中有点生疏。也许我忘了一些引用或其他什么,但这就是主意。

答案 1 :(得分:0)

您可以传递职务ID,例如请求的参数。

例如,您可以像这样调用您的jsp页面:

<a href="jobDetails.jsp?job_id=3" />

其中job_id是参数名称,3是其值。

之后,您可以通过下一步方式在jobDetails.jsp中读取参数值:

<%=request.getParameter("job_id")%>