EL表达式

本文详细介绍了EL表达式的基础语法及应用场景,包括访问Bean属性、请求参数的方法,以及如何进行算术、逻辑和关系运算等。此外,还展示了如何判断值是否为空,并提供了多个示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

el表达式是什么?

标签技术当中,定义的一套计算的规则,用于给标签的属性赋值,现在,也可以直接将计算的结果输出。

el表达式的基本语法

如果只是使用EL表达式不需要引入任何jar包,只要jsp/servlet容器实现了J2EE1.4/Servlet2.4规范即可。

       ${el表达式}

el表达式的形式:

       a, 访问bean的属性

       方式一:

${user.name},jsp引擎会依次从pageContext,request,session,application中查找绑订名为"user"的对象,如果找到,调用getName()方法并输出。如果找不到,则输出""。

       可以指定查找的范围:

       ${pageScope.user.name}

       ${requestScope.user.name}

       ${sessionScope.user.name}

       ${applicationScope.user.name}

       方式二:

       ${user["name"]}或者是${user[propName]},"[]"的内容可以是一个变量,也可以是0,1,2这样的下标。

       b,访问请求参数

       ${param.name}: 相当于request.getParameter("name");

       ${paramValues.interest}:相当于request.getParameterValues("interest");

       c, 计算表达式的值,该值一般用于给标签的属性赋值,或者直接输出。

       el表达式可以进行算术运算:

可以进行"+","-","*","/","%",但是"+"号运算不能连接字符串。

逻辑运算:可以进行"&&","||","!",也可以使用"and","or","not"代替。

关系运算:可以进行"==","!=",">","<",">=","<="六种关系运算,也可以使用"eq","nq","lt","gt","le","ge"代替.

 

示例:

从sessionScope里查找user1对象的name属性:

name:${sessionScope.user1.name}

访问bean的属性的另外一种方式:name:${user1["name"]}<br/>

<%

       request.setAttribute("propName","name");

%>

name:${user1[propName]}<br/>

 

算术运算:

1+1:${1+1}  【2】

"123" + "123" =${"123" + "123" } 【246】

 

关系运算:

${"abc"== "abc"}  【true】

<%

       request.setAttribute("str","abc");

 %>

${"abc" eq str}  【true】

 

empty: 判断一个值是否为空。

       以下四种情况,结果为true。

       情况一:找不到对应的对象。

       情况二:值为null。

       情况三:空字符串

       情况四:集合内容为空。

 

empty运算<br/>

找不到对应的对象。

${emptyaaa}<br/>

<%

       request.setAttribute("obj",null);

%>

值为null。

${emptyobj}<br/>

<%

request.setAttribute("str1","");

%>

空字符串

       ${empty str1}<br/>

<%

       List lists = new ArrayList();

       request.setAttribute("lists",lists);

%>

集合内容为空。

${empty lists}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值