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

JSTL c:out 標簽值獲取:包裹容器元素後通過 DOM 操作

     編輯:程式設計綜合問答

問題本質

<c:out value="${data}" /> 僅負責輸出轉義文本,**不生成可被 DOM 直接選擇的元素節點**(輸出為純文本節點)。

解決方案

<!-- 方案一:包裹 span,賦予 id -->
<span id="outValue"><c:out value="${data}" /></span>

<!-- 方案二:包裹 input 隱藏域,便於表單提交 -->
<input type="hidden" id="hiddenValue" value="<c:out value='${data}' />" />

JavaScript 獲取

// 方案一
var text = document.getElementById('outValue').innerText; // 或 textContent

// 方案二
var val = document.getElementById('hiddenValue').value;

注意事項

  • 若 ${data} 包含引號,方案二需雙重轉義:value="<c:out value='${data}' escapeXml='true'/>"。
  • 推薦方案一,語義更清晰,樣式控制靈活(display:none 隱藏)。
  • 避免在 <script> 中直接內聯 <c:out>,易產生 XSS 或語法錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved