首頁  >  文章  >  web前端  >  javascript中使用EL表達式取得後台傳遞的參數的兩種情況分析

javascript中使用EL表達式取得後台傳遞的參數的兩種情況分析

不言
不言原創
2018-08-28 17:25:072091瀏覽

這篇文章帶給大家的內容是關於javascript中使用EL表達式取得後台傳遞的參數的兩種情況分析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

今天在專案中遇到的問題,jsp頁面引用的單獨的js文件,但是後台傳遞的一些參數在js文件中直接用EL表達式獲取報錯,網上查資料找到了解決方案,做個匯總,以供參考。

JS中使用EL表達式取得後台傳遞的參數,有兩種情況。
第一種情況:
(1)在jsp頁面引入jstl標籤庫:

   <%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>

(2)在jsp頁面寫js程式碼:

<script>
    var merchantId=” ${sessionScope.merchantIdMap}”
 </script>

第二種情況:
(1) 在jsp頁面引入jstl標籤庫:

   <%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>

(2) jsp檔案引入單獨的js文件,此時不能在js檔案中直接使用EL表達式,會報錯,此處有兩種處理方式:
   第一種:
       在jsp頁面中以隱藏域儲存參數值:

<input type=”hidden” id=merchantIdMap” value=”${sessionScope.merchantIdMap}”>

在js檔案中取得此隱藏域的值:

var merchantId=$(“#merhantIdMap”);

第二種:
在jsp頁面中定義全域的變數:

<c:set var="merchantIdMapGlob" value="${sessionScope.merchantIdMap}" scope="application"/>
<c:set var="warehouseIdMapGlob" value="${sessionScope.warehouseIdMap}" scope="application"/>
<script>
    var merchantIdMapGlob = "${merchantIdMapGlob}";    
    var warehouseIdMapGlob = "${warehouseIdMapGlob}";
</script>

在js檔案中可直接使用此全域變數:

var merchantId = merchantIdMapGlob;

相關推薦:

通過EL表達式,後台資料傳到前台,引號及後面的資料被截斷的問題:_html/css_WEB-ITnose

javaScript使用EL表達式的幾種方式_javascript技巧

以上是javascript中使用EL表達式取得後台傳遞的參數的兩種情況分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn