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

Web 前後端協作利器:EL 表達式、JSTL 標籤庫與 JS eval() 實戰

     編輯:Java 綜合教學

一、EL 表達式

核心優勢

  1. 抽離變動路徑:${pageContext.request.contextPath} 避免專案重命名導致路徑硬編碼失效。
  2. 多作用域自動查找:page → request → session → application,找到即輸出,找不到輸出空字串(不拋異常)。
  3. 自動型別轉換:後端傳來的 int、Date 等自動轉為字串,JS 無法直接處理 Java 物件時極其有用。

典型場景:表單回顯

<input name="username" value="${username}">
<!-- 驗證失敗跳回頁面,用戶輸入自動回填 -->

二、JSTL 標籤庫

與 EL 完美搭檔,邏輯判斷、迭代、格式化全靠它。

常用標籤

前綴功能範例
c核心邏輯<c:if test="${user!=null}">...</c:if>
c設置變數<c:set var="path" value="${pageContext.request.contextPath}"/>
c安全輸出<c:out value="${content}" escapeXml="true"/> 防 XSS
cURL 構建<c:url value="/api/user"><c:param name="id" value="1"/></c:url>
fn字串處理${fn:substring(desc, 0, 50)}
fmt格式化<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"/>

三、JavaScript eval()

僅建議用於 解析 JSON 字串(現代開發請用 JSON.parse())。

var data = '{"code":0,"list":[{"id":1,"q":"問題1"}]}';
var obj = eval("(" + data + ")");  // 轉為 JS 物件
console.log(obj.list[0].q);        // "問題1"
安全警示:eval 執行任意代碼,嚴禁處理不可信輸入,現代專案一律改用 JSON.parse()。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved