首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

HTML5 中 href 傳遞變數值的正確處理方式

     編輯:程式設計疑難解答

在 JSP 開發中,常需要在超連結 <a> 的 href 屬性中帶上動態變數。許多初學者會直接將變數名稱當作字串寫在引號裡,導致傳遞的不是變數的值,而是變數名稱本身。

錯誤示範

String id1 = rs.getString("id");
out.println("<tr>");
out.println("<td>" + "<a href='job.jsp?id2=id1'>" + job + "</a>" + "</td>");

這樣寫會產生 job.jsp?id2=id1,後端接收到的 id2 參數值是字面上的 "id1",而非資料庫查出的實際 ID。

正確做法

必須跳出字串常量,將變數 id1 的值拼接進 URL:

out.println("<td>" + "<a href='job.jsp?id2=" + id1 + "'>" + job + "</a>" + "</td>");

這樣生成的連結會類似 job.jsp?id2=123,後端用 request.getParameter("id2") 即可取得正確的數值。

關鍵點

  • 字串拼接時,變數必須在引號外部,利用 + 運算子連接。
  • 若使用 EL 表達式(${id1})或 JSTL <c:url> 會更簡潔且安全。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved