我使用隐藏的输入类型来设置值,并使用request.getParameter()来获取另一个页面中的值,但它始终返回“null”

时间:2017-07-22 08:49:01

标签: html sql jsp

我使用隐藏输入类型来设置值并使用request.getParameter()     获取另一个页面中的值,但它总是返回“null”。     为什么它返回null值? 第一页: -

<%  
try{  
       Class.forName("org.postgresql.Driver");  
       Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/passkey_database","postgres","4457");  
       PreparedStatement ps=con.prepareStatement("select * from visitor_table");  
       ResultSet rs=ps.executeQuery();  
       ResultSetMetaData metaData=rs.getMetaData();  
       while(rs.next()){  

%>  
<tr>
 <td>  
  <input type="text" name="name" value="<%=rs.getString("visitor_name")%>">  
  <a href="permissionform.jsp"> <%=rs.getString("visitor_name")%> </a>  
</td>
<%for(int i = 2; i<=metaData.getColumnCount();i++){ %>  
<td>  
  <%= rs.getString(i)%>  
</td>
<%    }   %>     
</tr>
<%}  
}catch (Exception e) {  
e.printStackTrace();  
}

第二页: -

 <%

   String name=request.getParameter("name");
    out.println(name);
   try{
       Class.forName("org.postgresql.Driver");
        Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/passkey_database","postgres","4457");
            PreparedStatement ps=con.prepareStatement("select * from visitor_table where visitor_name=?");
            ps.setString(1,name);
            ResultSet rs=ps.executeQuery();
            while(rs.next()){

  %>

2 个答案:

答案 0 :(得分:2)

你可以通过一个简单的技巧

来完成这项任务

更新此行

.max((p1, p2) -> Integer.compare(p1.getSalary(), p2.getSalary()))

通过此代码,如果您使用此代码,则实际上不需要>>> a = [10, 20, 340, 20, 10] >>> b=[] >>> [b.append(i) for i in a if i not in b] [None, None, None] >>> b [10, 20, 340] 标记,因为链接已经被解析。

如果<% String visitor_name = rs.getString("visitor_name"); String link = "permissionform.jsp?name=" + visitor_name; %> <input type="text" name="name" value="<%=visitor_name%>"> <a href="<%=link%>"><%= visitor_name%></a> <input>

,则此name转发的null值不会是visitor_name

希望它可以帮助你解决问题。:)

答案 1 :(得分:0)

您可以使用Session,Cookie或Context对象在其他页面中获取变量,或者如果您有<input type="submit"/>标记

,则使用带有操作的表单标记。

试试这段代码

 <td> 
     <form action="permissionForm.jsp"> 
      <input type="text" name="name" 
       value="<%=rs.getString("visitor_name")%>">  
     <input type="submit" value="<%=rs.getString("visitor_name")%>"/>
    </form>    
</td>