❶ js中如何引用EL表达式
注意: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('<option>' );即使转义后
document.createElement('<option>' ); 也没有效果 ,在解析的时候,会创建
document.createElement('<html><option>' );使用时候不识别的标识符 .
可以直接使用document.createElement('option')
火狐不支持select.options.appendChild(option),IE支持
select.appendChild(option) IE和Firefox都支持
火狐不支持option.innerText="test",
为兼容 改写为option.innerHTML="test"
❷ JS在EL表达式中传值的问题
${requestScope.newslist[i].newsTitle} 直接 ${newslist[i].newsTitle}
❸ 当js中含有el表达式时 可以提取到.js吗
首先纠正,js里不能使用EL表达式。EL表达式在服务器端执行,输出表达式结果到JSP页面。而内js是在客户端容执行的。 你的问题在于EL表达式是直接输出文本,并不知道上下文环境是HTML还是JS或是其他什么。这样就会导致输出的文本有时候语法不正确。
❹ js中使用el表达式
js控制中用到了el表达式,最开始源码如下:
varselected=${requestScope.xxxxForm.recordNumPerPage}
这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。
于是在boss的指导下,简单的加了两个引号,代码变成
varselected=“${requestScope.xxxxForm.recordNumPerPage}”
功能自动实现。
附上整个函数代码:
functiongetSelected(name){
varselects=document.getElementsByName(name);
varselected=“${requestScope.xxxxForm.recordNumPerPage}";
if(selected==undefined||selected==null||selected==""){
returnfalse;
}
for(varj=0;j<selects.length;j++){
for(vari=0;i=selects[j].length;i++){
if(selects[j].options[i].value==selected){
selects[j].options[i].selectd=true;
}
}
}
}
总之,在js中使用el表达式一定要使用双引号。
❺ JS中如何引用EL表达式
1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:
[html]view plain
<scripttype="text/javascript">
$(function(){
newBacklogOverview("${param.alert}");
});
</script>
2.JS代码是单独的.js 文件, 通过引入到 JSP中来.这时候可通过提前定义JS变量的形式的解决,如:
[html]view plain
<c:setvar="contextPath"value="${pageContext.request.contextPath}"scope="application"/>
<script>
<%--JSgloablevarilible--%>
varcontextPath="${contextPath}";
</script>
这样在之后引入的JS文件中就可以使用contextPath变量了.
[html]view plain
//Imagesetting
config.filebrowserImageUploadUrl=contextPath+"/ckeditor/upload.htm";
❻ 提问:js函数里面能用el表达式么
js是客户端执行,el是在服务端执行,而服务端比客户端先执行,所以你不能用js来改专变已经执行的el表达式的值属,但是却可以用el来给js初始化传值,这和jsp脚本是一样的效果,但是如果js脚本不是在jsp页面里而是在单独的js文件里,这时用el初始传值是不起作用的,但你可以通过window.onload()来得到el的值再传送给js文件里的方法进行变量初始化
❼ JS里面,怎样在%%中嵌套EL表达式
el表达式只不过是简化后的%%里面的表达式,内置了一些全局变量罢了。
比如说,< %=request. getParameter(“username”)% > 等价于 ${ param. username }<%=user.getAddr( ) %> 等价于 ${user.addr}。
<%=request.getAttribute(“userlist”) %> 等价于$ { requestScope.userlist }
你只要知道两者怎么转化,那上面的问题就简单了,只要把el表达式写全,就可以直接放到%%中
❽ js用el表达式取request中的值的问题
\是js字符串中的特殊字符,需要转义成\\ 才能正确识别
❾ 在纯js文件中用EL表达式获取jsp内置session对象的值
在纯js文件中,是不能直接用 EL表达式获取jsp内置session对象的值的
你需要,先在jsp中,写上js的临时变内量,
<scripttype="text/javascript">
varname="{name}";
</script>
然后在纯 js中 引用这容个变量, 注意纯js文件的引用,应该在上面定义的js 的下面
<scripttype="text/javascript"src="xxx.js">