You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSP的href中传递两个字符串参数?结果集参数传递失败

问题:JSP中HREF无法传递结果集获取的参数

你提到在JSP的href链接里传递两个参数时,通过session.getAttribute()拿到的employee_id能正常传递,但从结果集(ResultSet)中获取的第二个参数怎么都传不到URL里。你给出的代码片段如下:

<html> 
<body> 
<table border="1" align="center" background="images\blue-wallpaper-7.jpg"> 
<tr> 
<td>PROJECT_NAME </td> 
<td>HEADER</td> 
<td>DESCRIPTION</td> 
<td> TASK_DATE</TD> 
<td>STATUS</td> 
</tr> 
<% Stri...

结合你的场景,我整理了几个最可能的原因和对应的解决方案:


1. 参数未从结果集正确提取

大概率是你在获取结果集参数时出了小问题:要么是列名拼写错了,要么是没正确调用ResultSet的get方法。比如你要拿的是project_id,但写成了projectId,或者数据库列名是大写你用了小写(部分数据库是区分大小写的)。

2. URL拼接语法错误

拼接href时很容易犯引号没闭合、变量拼接漏了加号这类小错误,导致参数根本没被拼进URL里。

3. 结果集遍历逻辑问题

如果是在循环里生成链接,可能没正确调用rs.next()迭代结果集,导致所有链接都用了同一个(甚至是空的)参数值。


修复后的示例代码

假设你要传递的第二个参数是project_id,以下是正确的写法:

<%
// 从session获取employee_id
String employeeId = (String) session.getAttribute("employee_id");
// 假设rs是你的ResultSet对象,已经正确执行查询
while(rs.next()){
    String projectName = rs.getString("PROJECT_NAME");
    String header = rs.getString("HEADER");
    String description = rs.getString("DESCRIPTION");
    String taskDate = rs.getString("TASK_DATE");
    String status = rs.getString("STATUS");
    // 关键:正确从结果集提取第二个参数,确保列名和数据库一致
    String projectId = rs.getString("PROJECT_ID");
%>
<tr>
    <td><%= projectName %></td>
    <td><%= header %></td>
    <td><%= description %></td>
    <td><%= taskDate %></td>
    <td><%= status %></td>
    <td>
        <!-- 正确拼接URL,注意引号和变量的连接 -->
        <a href="target-page.jsp?employee_id=<%= employeeId %>&project_id=<%= projectId %>">查看详情</a>
    </td>
</tr>
<%
}
// 记得关闭结果集、连接等资源
rs.close();
%>

额外注意事项

  • 特殊字符编码:如果参数值包含空格、&、=这类特殊字符,一定要用URLEncoder.encode()编码,避免URL解析失败:
    <a href="target-page.jsp?employee_id=<%= URLEncoder.encode(employeeId, "UTF-8") %>&project_id=<%= URLEncoder.encode(projectId, "UTF-8") %>">查看详情</a>
    
  • 调试验证:可以在页面里临时输出参数值,确认是否从结果集拿到了正确的值:
    <%= "当前项目ID:" + projectId %>
    
  • 资源关闭:用完ResultSet、Statement、Connection后一定要记得关闭,避免资源泄漏。

内容的提问来源于stack exchange,提问作者Aties

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:47:40