我正在使用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。请帮我运行我的代码。谢谢!
答案 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")%>