我使用隐藏输入类型来设置值并使用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()){
%>
答案 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>