美文网首页
关于在jsp页面中向外部js文件传值的问题

关于在jsp页面中向外部js文件传值的问题

作者: hellohuan | 来源:发表于2018-05-05 12:35 被阅读0次

一、问题场景

前几天在写jsp的时候遇到这样一个问题——当jsp页面引入了一个外部js文件时,在jsp页面中通过EL表达式取值,然后向外部js传值却不成功。
比如在jsp中如下所示:

<script>
    var  value = '${a.value}'
</script>

在外部js中如下所示:

<script>
    let  v = value
</script>

采用这种方式是无法在外部 js 文件中获取到 value 值得,原因在于 jsp 对 js 文件的处理在客户端(浏览器)完成,这样导致了外部 js 文件无法在服务器对 jsp 进行处理时获取 value 值,而当 jsp 被处理为静态的 html 返回到客户端(浏览器)时,显然 value 值已失效(EL表达式失效),所以整个过程中外部 js 文件都获取不到 value 。

二、解决方案

这里提供两种解决方案:隐藏域传值和 js 文件改为 jsp 文件。

1、隐藏域传值

jsp 中代码如下:

<input type = 'hidden' id = 'value' name = 'value' value = '${a.value}'></input>

js 文件中代码如下:

<script>
    let  v = document.getElementById('value').value;
</script>

2、js 文件改为 jsp 文件

直接将外部 js 文件的文件扩展名改为.jsp 即可。注意:jsp 文件中对 js 外部文件的引用中也要修改文件扩展名为.jsp,如下:

<script src = '外部 js 文件.jsp' type = 'text/javascript' ></script>

PS:聪明的同学可以思考一下两种解决方案的思路分别是什么。

以上

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/2ca99c01532b

相关文章

  • 关于在jsp页面中向外部js文件传值的问题

    一、问题场景 前几天在写jsp的时候遇到这样一个问题——当jsp页面引入了一个外部js文件时,在jsp页面中通过E...

  • JS通过URL向另一jsp页面传值时中文乱码问题

    js传值到JSP 今天搞一个小项目的时候需要从某个页面的js向另外一个jsp页面通过url传值时中文乱码,搞了半天...

  • 编译指令-include指令

    在jsp中使用include指令后,可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句(如果...

  • JSP --> servlet

    JSP页面有3种方法向 servlet传值: form表单、URL 、其他 1、对于该JSP页面 form表单的内...

  • springsecurity环境下,js加载jsp页面问题

    在一个jsp页面中通过js加载jsp页面 te.jsp页面中包含js代码 在浏览器中运行test.jsp te.j...

  • 前端知识点(9)

    JS编写位置 可以将js代码编写到外部js文件中,然后通过script标签引入 写到外部文件中可以在不同的页面中同...

  • JS基本语法

    编写位置: 可以将js代码编写到外部js文件中,然后通过script标签引入 写到外部文件中可以在不同的页面中同时...

  • JavaScript1.0

    如何插入JS ​​ 引用JS外部文件 ​​ 找到你的位置(JS在页面中的位置) ​​ ​​ JavaScript-...

  • javascript

    编写位置 可以将js代码编写到外部js文件中,然后通过script标签引入写到外部文件中可以在不同的页面中同时引用...

  • 2018.10.26js基本操作

    可以将js代码编写到外部js文件中,然后通过script标签引入写到外部文件中可以在不同的页面中同时引用,也可以利...

网友评论

      本文标题:关于在jsp页面中向外部js文件传值的问题

      本文链接:https://www.haomeiwen.com/subject/uyvsrftx.html