⑴ 当js中含有el表达式时 可以提取到.js吗
首先纠正,js里不能使用EL表达式。EL表达式在服务器端执行,输出表达式结果到JSP页面。而内js是在客户端容执行的。 你的问题在于EL表达式是直接输出文本,并不知道上下文环境是HTML还是JS或是其他什么。这样就会导致输出的文本有时候语法不正确。
⑵ 如何在外部JS中使用EL表达式或者c标签产生
1、在原JSP页面中将抄这些值封装进袭hidden域,然后传给js文件
比较直接的一种做法,但在后期维护时候可能会引起歧义(例如过一段时间后看JSP页面时候不知道这些hidden是干嘛的了)
2、我认为比较好的一种方式,在JSP页面中先声明一个<script></script>,在其中将你要传递的EL表达式作为全局变量写入,然后再导入外部JS代码
⑶ js函数里面能用el表达式么的解决方案列表
js是客户端执行,el是在服务端执行,而服务端比客户端先执行,所以你不能用js来改变已经执行的专el表达式的值属,但是却可以用el来给js初始化传值,这和jsp脚本是一样的效果,但是如果js脚本不是在jsp页面里而是在单独的js文件里,这时用el初始传值是不起作用的,但你可以通过window.onload()来得到el的值再传送给js文件里的方法进行变量初始化
⑷ 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表达式
注意: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表达式
el表达式只不过是简化后的%%里面的表达式,内置了一些全局变量罢了。
比如说,< %=request. getParameter(“username”)% > 等价于 ${ param. username }<%=user.getAddr( ) %> 等价于 ${user.addr}。
<%=request.getAttribute(“userlist”) %> 等价于$ { requestScope.userlist }
你只要知道两者怎么转化,那上面的问题就简单了,只要把el表达式写全,就可以直接放到%%中
⑺ 在js或者jquery里可以使用el表达式吗
不可以的,el表达式是jsp页面中使用的。