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

解決 JSP 中 `` 標籤導致雙重 `` 標籤顯示的問題

     編輯:程式設計疑難解答

問題背景

在 JSP 頁面的 `` 單元格中,開發者使用 JSTL 的 `` 標籤根據條件動態顯示一個圖示(``)。然而,在瀏覽器渲染後,發現該位置出現了兩個 `` 標籤,導致圖示重複顯示或佈局錯亂。

代碼示例

<td width="9%">
  <a href="../city/query.html?interfaceId=${interfacesList.interfaceId}" title="詳情">
    <i class="fa fa-folder-open fa-2x"></i>
  </a>
  <a href="../city/update.html?interfaceId=${interfacesList.interfaceId}" title="修改">
    <i class="fa fa-pencil-square fa-2x"></i>
  </a>
  <c:if test="${interfacesList.bugs > 0}">
    <a href="../city/queryBugs.html?interfaceName=${interfacesList.interfaceName}&methodsName=${interfacesList.methodsName}&interfacePath=${interfacesList.interdacePath}" title="錯誤報告">
      <i class="fa fa-bug fa-2x"> 
    </a>
  </c:if>
</td>

根本原因

仔細觀察代碼可發現,在 `` 區塊內的 `` 標籤**缺少閉合標籤** `</i>`。瀏覽器在解析 HTML 時,會嘗試自動補全缺失的閉合標籤,導致產生額外的 `` 元素,進而造成雙重圖示現象。

解決方案

只需在 `` 後添加缺失的 `</i>` 即可:

<c:if test="${interfacesList.bugs > 0}">
  <a href="..." title="錯誤報告">
    <i class="fa fa-bug fa-2x"></i>
  </a>
</c:if>

經驗總結

這是一個典型的「粗心導致的語法錯誤」,修復後頁面渲染即恢復正常。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved