JS中如何引用EL表达式

JavaScript05

JS中如何引用EL表达式,第1张

1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:

[html] view plain copy

<script type="text/javascript">

$(function () {

new BacklogOverview("${param.alert}")

})

</script>

2.JS代码是单独的.js 文件, 通过引入到 JSP中来.这时候可通过提前定义JS变量的形式的解决,如:

[html] view plain copy

<c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>

<script>

<%--JS gloable varilible--%>

var contextPath = "${contextPath}"

</script>

在JSP页面上定义JS变量 contextPath.

这样在之后引入的JS文件中就可以使用contextPath变量了.

[html] view plain copy

//Image setting

config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm"

EL表达式的写法要遵循特定语法的,否则会报错。

JSP EL简介

1、语法结构

${expression}

2、[ ]与.运算符

EL 提供“.“和“[ ]“两种运算符来存取数据。

当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:

${user.My-Name}应当改为${user["My-Name"] }

如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:

${sessionScope.user[data]}中data 是一个变量

3、变量

EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。

属性范围在EL中的名称

Page PageScope

Request RequestScope

Session SessionScope

Application ApplicationScope