從 JSP 存取 JavaScript 中的 Java 變數
根據請求物件屬性動態填入 JSP 中的表單時,可以利用 Java 腳本進行無縫存取。
將 Java 變數列印為 JavaScript變數:
JSP 產生 HTML/CSS/JS 程式碼,因此您可以簡單地指示 JSP 將 Java 變數列印為 JavaScript 變數。使用EL 語法(${foo}),您可以如下列印變數:
<script>var foo = '${foo}';</script>
登入後複製
處理JSON 物件:
如果您的Java 變數更複雜,例如bean、列表或映射,使用Gson 等庫將其轉換為JSON 字串。然後,您可以將其列印為JavaScript 物件:
<script>var foo = ${someObjectAsJson};</script>
登入後複製
範例:
- <script>var foo = '${foo}' ; </腳本>在JavaScript 中將foo 當作字串列印。 </script>
-
<script>someFunction('${foo}');</script>;以 foo 為參數呼叫 JavaScript 函數。
-
...
;定義一個帶有 onclick 事件的 DIV,該事件會觸發以 foo 作為參數的 someFunction。
注意:
- 將 Java 變數括在字串的引號中,但省略數字和布林值的引號。
- 處理時考慮 XSS 攻擊漏洞使用者控制的輸入,必要時使用 JS 轉義。
其他資源:
- [JSP Wiki](https://wiki.apache.org/jspwiki/)
- [轉義JavaScript JSP](https://stackoverflow.com/questions/125354/how-to-escape-javascript-in-jsp)
- [從JavaScript](https://stac koverflow.com/questions/1842397/call-servlet-and-invoke-java-code-from-javascript-along-with-parameters)
- [使用Servlet 和Ajax](https://www.javaworld.com/article/2076172/architecting-java/mastering-servlets-and-ajax-techniques.html)
以上是如何在 JSP 頁面中的 JavaScript 中存取 Java 變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!