js文件引入外部文件问题

document.write("<script language=javascript src='js/baseInfoData_${sessionScope['org.apache.struts.action.LOCALE']}.js'></script>");

这是我在一个jq插件源文件里面导入的js文件,然后报错:net::ERR_ABORTED 404 (Not Found)
如果把${sessionScope['org.apache.struts.action.LOCALE']}这段,换成具体的文件名就没问题,但是请问如果涉及拼接${sessionScope['org.apache.struts.action.LOCALE']},该怎么写呢?

${sessionScope['org.apache.struts.action.LOCALE']} 这个是服务器端标记吧

这个代码块必须放到jsp之类的动态页面里面

要不放到js文件中是不会解析 ${sessionScope['org.apache.struts.action.LOCALE']} 这种服务器端代码的,以源代码作为文件路径当然会出错
应该改成下面这种模式,注意jspath变量要放到加载的js前面定义,要不会出错

<script>
    var jspath = "${sessionScope['org.apache.struts.action.LOCALE']}";//服务器端代码需要放到动态页面里面解析后赋值给js变量
</script>
<script src="xxx.js"></script>

然后xxx.js改成这样

    document.write("<script language=javascript src='js/baseInfoData_" + jspath+".js'></script>");

如果sessionScope是客户端json变量,要使用模板语法获取键值,字符串应该使用反引号扩起,这样才是模板字符串。

document.write(`<script language=javascript src='js/baseInfoData_${sessionScope['org.apache.struts.action.LOCALE']}.js'></script>`);

img


有其他问题可以继续交流~

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632