Java日志二十六「EL表达式」

**

EL表达式

**
EL表达式可以嵌入到jsp页面的内部,目的就是用来简化jsp页面的书写。

看一下简化后的效果:
jsp脚本:

<%=request.getAttribute(name)%>

EL表达式替代上面的脚本:

${requestScope.name}

下面看一下EL表达式的运算符

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String str="acb";
    request.setAttribute("str",str);
    //empty运算符可以判断所有有长度的数据类型(字符串,数组,集合)的长度,只有长度大于0时才返回false,null与长度为0都返回true
%>
<%--运算符--%>
<h3>算术运算符</h3>
${3+4}<br>
${3/4}<br>
${3%4}<br>
<h3>比较运算符</h3>
${3<4}<br>
<h3>逻辑运算符</h3>
${3<4||3>4}<br>
<h3>空运算符</h3>
${empty str}<br>
</body>
</html>

看一下页面的效果
在这里插入图片描述
EL表达式通过域名称来获取值:

下面是域名称(前者)对应的域对象(后者)

pageScope ----> pageContext
requestScope ----> request
sessionScope ----> session
applicationScope ----> application

以上的四个域对象所代表的范围由上到下依次增加

我们来看一下EL表达式获取对象的两种方式:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<%
    request.setAttribute("name","gfx");
    session.setAttribute("age","20");
%>

<h3>EL获取值第一种方式</h3>
${requestScope.name}<br>
${sessionScope.age}<br>

<h3>EL获取值第二种方式</h3>
${name}<br>
</body>
</html>

对于第二种获取方式,会从最小的域中开始找,直到找到。

下面是EL表达式获取值的一些操作

<%@ page import="domain.User" %>
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    User user=new User();
    user.setName("AJ");
    user.setAge(20);
    user.setBirthday(new Date());

    request.setAttribute("user",user);

    List list=new ArrayList();
    list.add("AAA");
    list.add("BBB");
    list.add("CCC");

    request.setAttribute("list",list);

    Map map=new HashMap();
    map.put("gender","男");
    map.put("power","hight");

    request.setAttribute("map",map);
%>

<%--El获取对象的值是通过属性来获取的:
setter或getter方法,去掉set与get,将剩余部分首字母小写
如setName——>Name——>name
--%>

<h3>EL获取对象的值</h3>
${requestScope.user.name}<br>
${requestScope.user.age}<br>
${requestScope.user.birthday}<br>

<h3>EL获取List集合的值</h3>
${requestScope.list}<br>
${requestScope.list[0]}<br>
${requestScope.list[1]}<br>

<h3>EL获取Map集合的值</h3>
${requestScope.map.gender}<br>

<h3>EL的隐式对象pageContext</h3>
${pageContext.request.contextPath}<br>
</body>
</html>

页面:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Idea是一款非常流行的Java集成开发环境(IDE),它支持开发和调试Java程序。在Idea中使用JSPJava服务器页面)开发Web应用程序时,是支持使用EL表达式的。 EL(Expression Language)表达式是一种在JSP中使用的简单表达式语言,用于动态获取和设置Web应用程序中的数据。EL表达式可以在JSP页面中访问和操作JavaBean、请求参数、Session和Application范围的属性等。 在Idea中使用EL表达式非常简单。首先,确保在JSP页面的顶部引入了EL库: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 然后,您可以在JSP页面的任何位置使用EL表达式进行数据处理。例如,要显示一个JavaBean中的属性值,可以使用以下语法: ${bean.property} 其中,bean是JavaBean对象的名称,property是该对象的属性。通过这种方式,EL表达式可以方便地访问和显示对象的属性值。 此外,EL表达式还支持许多内置函数和运算符,可以对数据进行处理和计算。例如,你可以使用${fn:length(beanList)}来获取一个列表的长度。 总而言之,Idea支持使用EL表达式,可以简化JSP页面中数据的访问和操作。通过EL表达式,开发者可以更加方便地处理和展示数据,提高开发效率。 ### 回答2: JSPJavaServer Pages)是一种用于创建动态网页的Java技术,而EL(Expression Language)是JSP的一种表达式语言,用于简化在JSP页面中使用和操作数据的过程。在一般情况下,JSP是可以使用EL表达式的。 如果在使用JSP时无法使用EL表达式,可能是由于以下原因导致的: 1. JSP配置问题:在JSP页面中使用EL表达式之前,需要确保正确地配置了JSP标准标签库(JSTL)和EL库。这通常需要在JSP页面的顶部引入相关的标签库声明。 2. jsp文件类型错误:请确认文件后缀名为.jsp。 3. jsp版本问题:如果使用的是较老版本的JSP规范(如JSP 1.2),可能不支持EL表达式。此时可以尝试升级到较新的JSP规范版本,并确保容器(如Tomcat)也支持。 4. 语法错误:EL表达式的语法正确性非常重要。请确保在使用EL表达式时,语法和用法都正确无误。 如果尝试了上述解决方法仍然无法使用EL表达式,可能需要仔细检查JSP配置和代码逻辑,或者查看相关的错误日志信息来进一步排查问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值