如何在外部JS中使用EL表达式或者c标签产生的值
2016-06-22 10:38
381 查看
为了维护方便,一般是将大量的javascript单独写在一个js文件中,但问题是,许多js文件中使用了EL表达式,如何获取它们的值?在网络上搜寻了下资料,经过验证如下
1、在原JSP页面中将这些值封装进hidden域,然后传给js文件
比较直接的一种做法,但在后期维护时候可能会引起歧义(例如过一段时间后看JSP页面时候不知道这些hidden是干嘛的了)
2、我认为比较好的一种方式,在JSP页面中先声明一个<script></script>,在其中将你要传递的EL表达式作为全局变量写入,然后再导入外部JS代码
例如,JSP页面上,获取了一个row值,还有一个二维数组arr[ ][ ]用来保存Servlet传递过来的对象中的属性,再导入外部js文件,注意,这里顺序不能反了,否则这些变量无法使用
<script type="text/javascript">
var row = "${pageScope.row}";
var arr = new Array();
var count = 1;
<c:forEach items="${list}" var="dec" varStatus="status">
arr[count] = new Array();
arr[count][1] = "${dec.decreaseID}";
arr[count][2] = "${dec.decreaseFrom}";
arr[count][3] = "${dec.decreaseTo}";
arr[count][4] = "${dec.decreaseRate}";
arr[count][5] = "${dec.decreaseFareRate}";
arr[count][6] = "${dec.decreasePriceOfEach}";
arr[count][7] = "${dec.decreasePriceOfSum}";
arr[count][8] = "${dec.fareRateID}";
count++;
</c:forEach>
</script>
3、另外在网上还有一种办法,就是直接将.js文件保存为.jsp文件,然后在导入时改为.jsp
<script src="myjs.jsp" type="text/javascript> </script>
类似上面这种的导入,然后el表达式就可以跟javascript代码写在一起了,但我试了下并不起作用,不知道是不是姿势不对=.=!
1、在原JSP页面中将这些值封装进hidden域,然后传给js文件
比较直接的一种做法,但在后期维护时候可能会引起歧义(例如过一段时间后看JSP页面时候不知道这些hidden是干嘛的了)
2、我认为比较好的一种方式,在JSP页面中先声明一个<script></script>,在其中将你要传递的EL表达式作为全局变量写入,然后再导入外部JS代码
例如,JSP页面上,获取了一个row值,还有一个二维数组arr[ ][ ]用来保存Servlet传递过来的对象中的属性,再导入外部js文件,注意,这里顺序不能反了,否则这些变量无法使用
<script type="text/javascript">
var row = "${pageScope.row}";
var arr = new Array();
var count = 1;
<c:forEach items="${list}" var="dec" varStatus="status">
arr[count] = new Array();
arr[count][1] = "${dec.decreaseID}";
arr[count][2] = "${dec.decreaseFrom}";
arr[count][3] = "${dec.decreaseTo}";
arr[count][4] = "${dec.decreaseRate}";
arr[count][5] = "${dec.decreaseFareRate}";
arr[count][6] = "${dec.decreasePriceOfEach}";
arr[count][7] = "${dec.decreasePriceOfSum}";
arr[count][8] = "${dec.fareRateID}";
count++;
</c:forEach>
</script>
<script type="text/javascript" src="../../Javascript/DecreaseShowData.js"></script> <!-- 外部js文件引入-->
3、另外在网上还有一种办法,就是直接将.js文件保存为.jsp文件,然后在导入时改为.jsp
<script src="myjs.jsp" type="text/javascript> </script>
类似上面这种的导入,然后el表达式就可以跟javascript代码写在一起了,但我试了下并不起作用,不知道是不是姿势不对=.=!
相关文章推荐
- Javascript将双字节字符转换成单字节字符并计算长度
- js中的 !!
- Part 8: Understanding Backbone.js Events
- Console命令详解,让调试js代码变得更简单
- 数组json相互转换
- Javascript 5种方法实现过滤删除前后所有空格
- js实现a标签超链接提交form表单的方法
- Json解析的方法小结
- JS实现刷新父页面不弹出提示框的方法
- Jascript滚动条在页面刷新和提交表单之后固定不返回顶部
- extjs表单中动态添加items
- Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'ysdt'.
- 点击事件 侦听事件 方法 拼图游戏的吸附
- 关于火狐和IE下href="javascript:void(0)"兼容性的问题
- jsonp跨域访问(Get方式)
- Part 6: Understanding Backbone.js Views
- javascript 键盘输入过滤,只能输入数字,小数一位且只能输入5
- JS 语言中的注意点
- 用javsscript写的winform程序
- JS随机打乱数组的方法小结