我正在使用隐藏的输入类型来设置值并使用request.getParameter(( 在另一个页面中获取值,但它始终返回"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()){
%>
您只需一个简单的技巧即可完成此任务
更新此行
<%
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
如果visitor_name
not null
,则不会null
措辞的值
希望它对您的问题有所帮助:)
您可以使用会话、Cookie 或上下文对象来获取其他页面中的变量,或者如果您有<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>