el表达式(spel表达式)

http://www.itjxue.com  2023-01-28 04:32  来源:未知  点击次数: 

el表达式${APP_PATH} 指的是哪个路径啊

1、el表达式语言,Java统一表达式语言,是一种特殊用途的编程语言,主要在Java Web应用程序用于将表达式嵌入到web页面。Java规范制定者和Java Web领域技术专家小组制定了统一的表达式语言。

2、由定义可知,el表达式主要是用来取值的。APP_PATH 这个参数明显是个自定义的变量,具体的路径值,你要看后台代码是如何赋值的。

3、这种写法其实很常见,如果没猜错的话,应该就是项目的虚拟路径名。

4、希望对你有帮助。

JSP中el表达式的取值过程是怎样的?

el表达式取值必需是servlet四大作用(servletContextsessionrequestpageContext)中有的值

EL表达式可以取JavaBean的值,也可以取Attribute的值,下面是取Attribute的值

2.${name }取值是从作用域最小的域进行取值,这里就是pageContext开始取值,即以上四个语句都有的时候,取到的name值是pageContext里面的Attribute中name值pageContextName

在JavaScript里面使用需要在最外层加引号:“${name}”

3.c标签又常与EL表达式使用:

JSP中用EL表达式取 传回来的Attribute中list值(假设list值是 读取数据库数据返回的resultset类转成list类值)

EL(表达式语言)

EL(Expression Language)是一门表达式语言,它对应%=…%。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出。

1.EL的格式

2.EL运算符

3.EL不显示null

当EL表达式的值为null时,会在页面上显示空白,即什么都不显示。

例如:

EL来访问JavaBean属性

Person.java

EL一共11个内置对象,无需创建即可以使用。

pageScope,requestScope,sessionScope,applicationScope,param,paramValues,header,headerValues,initParam,cookie,pageContext

除了pageContext其余的都是Map类型

EL使用语法

${Map.key}

${map['key']}

EL函数库是由第三方对EL的扩展,现在学习的EL函数库是由JSTL添加的

EL函数库就是定义一些有 返回值 的 静态方法 。然后通过EL语言来调用它们

EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。

例如:

${fn:length(“abc”)}

会输出3,即字符串的长度

1.导函数库

%@ taglib prefix="fn" uri=""%

2.函数库

例如

1.写一个类,写一个有返回值的静态方法;

2.创建demo.tld文件,可以参考fn.tld文件来写,把itcast.tld文件放到/WEB-INF目录下;

3.在页面中添加taglib指令,导入自定义标签库。

DemoFuncations.java

demo.tld(放到classes下)

index.jsp

js中使用el表达式

js控制中用到了el表达式,最开始源码如下:

var?selected?=?${requestScope.xxxxForm.recordNumPerPage}

这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。

于是在boss的指导下,简单的加了两个引号,代码变成

var?selected?=?“${requestScope.xxxxForm.recordNumPerPage}”

功能自动实现。

附上整个函数代码:

function?getSelected(name){??

??var?selects?=?document.getElementsByName(name);??

??var?selected?=??“${requestScope.xxxxForm.recordNumPerPage}";??

??if(selected?==?undefined?||?selected?==?null?||?selected?==""){??

????return?false;??

??}??

??for(var?j?=?0;?j??selects.length;?j++?){??

?????for(var?i?=?0;?i?=?selects[j].length;?i++){??

???????if(selects[j].options[i].value?==?selected){??

?????????selects[j].options[i].selectd?=?true;??

???????}???

?????}??

??}???????

}

总之,在js中使用el表达式一定要使用双引号。

(责任编辑:IT教学网)

更多

推荐图片影音文章