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

JSP 兩頁面傳值:確認頁面顯示異常的原因與修正

     編輯:程式設計綜合問答

現象

第一頁有文字框 (url) 與單選鈕 (sex)。確認頁面用 `<%= request.getParameter("url") %>` 顯示。當文字框留白時,確認頁面將單選鈕的值錯誤顯示在文字框位置。

原因分析

JSP 確認頁面程式碼結構可能如下:

<dt>URL</dt>
<dd><% out.println(request.getParameter("url")); %></dd>
<dt>性別</dt>
<dd><% out.println(request.getParameter("sex")); %></dd>

若 `url` 參數不存在(留白未送出),`request.getParameter("url")` 回傳 `null`,`out.println(null)` 輸出字串 `"null"`。但描述中「單選鈕值顯示在文字框範圍」暗示 HTML 結構錯誤:可能 `

` 標籤未正確閉合,或 CSS 導致內容錯位,使後續 `
` 內容視覺上跑到前一個欄位。

修正方案

  1. 參數存在性檢查:
<dd>
<%
    String url = request.getParameter("url");
    out.println(url != null ? url : "(未填寫)");
%>
</dd>
  1. 確保 HTML 結構完整:每個 `
    `/`
    ` 成對閉合,避免瀏覽器自動補標籤導致錯位。
  2. 使用 JSTL ``:自動轉義 HTML 特殊字元,防 XSS。
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<dd><c:out value="${param.url}" default="(未填寫)" /></dd>

最佳實務

  • 表單送出前用 JavaScript 驗證必填欄位,避免空值送達伺服器。
  • 後端同樣驗證,驗證失敗導回原頁面並保留輸入值 (Post-Redirect-Get 模式)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved