在JavaScript 中訪問Java / Servlet / JSP / JSTL / EL 變數
在JSP 環境中,你可能會遇到需要訪問的場景JavaScript 程式碼中的Java、Servlet、JSP、JSTL 或EL 變數。本文探討了實現此目的的各種技術。
方法1:直接列印變數
由於Java/JSP 主要產生HTML/CSS/JS 程式碼,因此您可以利用JSP列印Java 變數,就好像它們是JavaScript 變數一樣。使用${foo} 等EL 表達式,可以以下格式輸出變數:
<script>var foo = '${foo}';</script> <script>someFunction('${foo}');</script>
方法2:JSON 轉換
對於複雜的Java 對象,例如作為beans、列表或映射,您可以使用Gson 等JSON 庫將它們轉換為JSON 字串。這樣就不需要在JavaScript 程式碼中引用輸出:
String someObjectAsJson = new Gson().toJson(someObject);
<script>var foo = ${someObjectAsJson};</script>
方法3:實例化自訂EL 函數以進行JS 轉義
當使用user-受控輸入,必須考慮XSS 攻擊漏洞。您可以建立自訂 EL 函數來轉義 Java 變量,以便在 JavaScript 中安全使用。
結論
透過採用這些技術,您可以有效地存取Java 和其他伺服器端JSP環境中JavaScript程式碼中的變量,實作伺服器和瀏覽器之間的無縫通訊。
以上是如何在 JavaScript 中存取 Java/Servlet/JSP/JSTL/EL 變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!