JS中使用EL表达式获取后台传递的参数

博主在项目里,遇到jsp页面引用的js文件用EL表达式获取后台参数报错的问题。汇总了解决方案,包括在jsp页面写js代码,以及jsp引入单独js文件时,用隐藏域存储参数值或定义全局变量来获取参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在项目中遇到的问题,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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值