Java 从jsp向jsp传递值时获取空值

Java 从jsp向jsp传递值时获取空值,java,jsp,servlets,jakarta-ee,Java,Jsp,Servlets,Jakarta Ee,嗨,朋友们,我正试图通过链接将值从一个jsp传递到另一个jsp,但值没有传递。我在论坛上引用了许多答案。没有任何帮助 Display.jsp <%@ page import="java.sql.*" %> <%ResultSet resultset =null;%> <HTML> <HEAD> <TITLE>Select element drop down box</TITLE> </HEAD> &l

嗨,朋友们,我正试图通过链接将值从一个jsp传递到另一个jsp,但值没有传递。我在论坛上引用了许多答案。没有任何帮助

Display.jsp

<%@ page import="java.sql.*" %>
<%ResultSet resultset =null;%>

<HTML>
<HEAD>
    <TITLE>Select element drop down box</TITLE>
</HEAD>

<BODY>



<h2>EMPLOYEE DETAILS</h2>
<br>
<form  action = "Form.jsp">
<button type = "submit">Add New Employee</button>
</form>
<%
    try{
           Class.forName("com.mysql.jdbc.Driver").newInstance();

           Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/hirarchy_check","root","root@123");

           Statement statement = connection.createStatement() ; 

           resultset =statement.executeQuery(" SELECT e.Emp_Id,e.Emp_Name ,e.Emp_Designation, m.Emp_Designation"+
                  " FROM employee_details e " +
                   " INNER JOIN employee_details m on e.Manager_id = m.Emp_Id ") ;

%>
  <table border = 1>
              <tr><th>Employee Id</th><th>Employee Name</th><th>Employee Designation</th><th>Reporting Manager</th><th>View</th></tr>
              <tr><td>1</td><td>Steve</td><td>ceo</td><td>0</td><td><a href = 'FormUpdate.jsp'>View</a></td></tr>

  <%    
              while(resultset.next())
              { %>
                  <tr><td><%=resultset.getInt(1)%></td><td><%=resultset.getString(2)%></td>
                  <td><%=resultset.getString(3)%></td><td><%=resultset.getString(4)%></td>
                  <td><a href="EmpDetails.jsp?empId=${resultset.getInt(1)}&empName=${resultset.getString(2)}" >update</a></td></tr>
            <%  } %>

    </table>

<%         }
        catch(Exception e)
        {
             out.println(e);
        }
%>

</BODY>
</HTML>

“选择图元”下拉框
员工详细信息

添加新员工 员工ID员工姓名员工指定报告经理视图 1Steveceo0
我必须传递值的页面是

EmpDetails.jsp

  <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
out.println<%=request.getParameter("empId") %>
out.println<%=request.getParameter("empName") %>
</body>
</html>

员工详细信息
out.println
out.println
注意

要从下面的答案运行代码,必须包含
JSTL
taglibrary。可以找到它

或者,在JSP的顶部写下以下行

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

回答

你能试试forEach吗

<c:forEach var="row" items="${resultset.rows}">
<tr>
<td><a href="EmpDetails.jsp?empId=${row.Emp_Id}&empName=${row.Emp_Name}">update</a></td>
</tr>    
</c:forEach>

如果使用jsp到jsp重定向,只需使用EL(表达式语言)和put

${param.empId}
代替

${param.empName}
代替


您需要这样做,因为您正在从JSP重定向到JSP,否则没有必要…

我认为resultset.getInt(1)不能像您预期的那样工作,而且imho,通过这种方式更容易阅读。提问者可能没有使用JSTLYes,我对java技术和编程也很陌生@rupinderjeet47