关闭

js中使用jstl中得到的值

866人阅读 评论(0) 收藏 举报
分类:

http://blog.csdn.net/a5489888/article/details/8467833


jstl的标签会转化为服务器端的代码执行,而js代码则在客户端执行。
        要在js中使用jstl并不是直接将jstl的value赋值给一个js的变量,而是要在jstl的value上加上"",比如一个从服务器端返回的数据可以这样赋值给js的变量。

Java代码
  1. var result "${result}"

转自http://gaogengzhi.iteye.com/blog/701851

 

如果js脚本在jsp文件中,用el表达式有效果  alert("${msgs.addFullName }");
注意:alert的时候,要把el表达式用引号引起来

如果是单独的js文件,el表达式是不起作用的,

EL表达式是在服务端执行的,服务端执行完成后再传给客户端的,js是在客户端执行的,el在js前就被执行了

把引入的外部js改为jsp文件,然后在jsp页面中引入<script src="myjs.jsp"></script>

在完全是js的jsp文件中,在执行的时候会出现乱码
在顶部加入
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>可解决乱码

然后在jsp页面中引入myjs.jsp,
<script src="myjs.jsp" type="text/javascript"></script>

但是如果js文件有创建html,就会出现错误,比如document.createElement_x_x('<option>' );即使转义后
document.createElement_x_x('&#60;option&#62;' ); 也没有效果 ,在解析的时候,会创建
document.createElement_x_x('<html><option>' );使用时候不识别的标识符 .
可以直接使用document.createElement_x_x('option')

火狐不支持select.options.appendChild(option),IE支持
select.appendChild(option) IE和Firefox都支持

火狐不支持option.innerText="test",
为兼容 改写为option.innerHTML="test"

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:143380次
    • 积分:2426
    • 等级:
    • 排名:第15297名
    • 原创:85篇
    • 转载:146篇
    • 译文:0篇
    • 评论:16条
    win32资源