EL表达式

EL表达式,第1张

EL表达式 EL表达式:

EL表达式,全称是expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。

EL注意事项:
  • 没有空指针异常
  • 没有索引越界异常
  • 没有字符串凭拼接效果
  • EL表达式除了能在四大域中获取数据,同时它可以访问其他隐式对象,并且访问对象有返回值的方法
基本语法:

EL表达式的语法格式:${表达式内容}

Java代码块JSP表达式EL表达式<%

String message = (String)request.getAttribute("message");
out.write(message);
%><%=request.getAttribute("message")%>${message}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%--向域对象添加数据--%>
<% request.setAttribute("username", "itzhuzhu");%>

<%--三种方式获取数据--%>
Java代码块获取 <%out.println(request.getAttribute("username"));%>
JSP表达式获取 <%=request.getAttribute("username")%>
EL表达式:${username}

通过上面我们可以看出,都可以从请求域中获取数据,但是EL表达式写起来是最简单的方式。这也是以后我们在实际开发中,当使用JSP作为视图时,绝大多数都会采用的方式。

EL获取数据类型:
%@ page contentType="text/html;charset=UTF-8" language="java" %>


    
    Title


<%--获取基本数据类型--%>
<% pageContext.setAttribute("num", 23);%>
基本数据类型:${num}
<%--获取自定义对象类型--%> <% Student2 student = new Student2("itzhuzhu", 23); pageContext.setAttribute("student", student); %> 自定义对象:${student}
${student.username} ${student.age} <%--获取数组类型--%> <% String[] arr = {"呵呵", "哈哈", "呵呵"}; pageContext.setAttribute("arr", arr); %> 数组:${arr}
<%--获取集合--%> <% ArrayList list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); %> List集合:${list}
${list[0]}
<% HashMap hashMap = new HashMap<>(); hashMap.put("a", new Student2("韩信", 11)); hashMap.put("a", new Student2("李白", 12)); pageContext.setAttribute("hashMap", hashMap); %>% Map集合:${hashMap}
<%--获取四大域对象中的数据--%> <% pageContext.setAttribute("username", "itzhuzhu"); request.setAttribute("username", "itzhuzhu"); session.setAttribute("username", "itzhuzhu"); application.setAttribute("username", "itzhuzhu"); %>
EL运算符:

其他的和java一样

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


    Title


<%
    String s = null;
    String s2 = "";
    int[] arr = {};
%>
${empty s}
${empty s2}
${empty arr}
三元运算符 <% pageContext.setAttribute("gender", "girl"); %> >女
隐式对象介绍:

EL表达式提供的隐式对象,可以不声明直接来使用,它和JSP的隐式对象不是一回事:

EL中的隐式对象类型对应JSP隐式对象备注PageContextJavax.serlvet.jsp.PageContextPageContext完全一样ApplicationScopeJava.util.Map没有应用层范围SessionScopeJava.util.Map没有会话范围RequestScopeJava.util.Map没有请求范围PageScopeJava.util.Map没有页面层范围HeaderJava.util.Map没有请求消息头key,值是value(一个)HeaderValuesJava.util.Map没有请求消息头key,值是数组(一个头多个值)ParamJava.util.Map没有请求参数key,值是value(一个)ParamValuesJava.util.Map没有请求参数key,值是数组(一个名称多个值)InitParamJava.util.Map没有全局参数,key是参数名称,value是参数值cookieJava.util.Map没有Key是cookie的名称,value是cookie对象 JSTL:

JSTL的全称是:JSP Standard Tag Libary。它是JSP中标准的标签库。它是由Apache实现的。

作用:

给开发人员提供通用的标签库,取代JSP页面上的代码,提高代码可读性,降低维护性

JSTL的组成: 组成作用说明Core核心标签库。通用逻辑处理Fmt国际化有关。需要不同地域显示不同语言时使用FunctionsEL函数EL表达式可以使用的方法SQL *** 作数据库。不用XML *** 作XML。不用 使用要求:

要想使用JSTL标签库,需要添加jar包。

核心标签库

标签名称功能分类分类作用流程控制核心标签库用于判断 ,,流程控制核心标签库用于多个条件判断迭代 *** 作核心标签库用于循环遍历

演示:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%--导入jstl标签库 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


  
    JSTL的常用标签
  
  
    <%-- c:if  c:choose   c:when c:otherwise --%>
    <% pageContext.setAttribute("score","F"); %>
    
    	优秀
    
    
    	一般
    
    
AAA BBB CCC DDD 其他 <%-- c:forEach 它是用来遍历集合的 属性: items:要遍历的集合,它可以是EL表达式取出来的 var:把当前遍历的元素放入指定的page域中。 var的取值就是key,当前遍历的元素就是value 注意:它不能支持EL表达式,只能是字符串常量 begin:开始遍历的索引 end:结束遍历的索引 step:步长。i+=step varStatus:它是一个计数器对象。里面有两个属性,一个是用于记录索引。一个是用于计数。 索引是从0开始。计数是从1开始 --%>
<% List list = new ArrayList(); list.add("AAA"); list.add("BBB"); list.add("CCC"); list.add("DDD"); list.add("EEE"); list.add("FFF"); list.add("GGG"); list.add("HHH"); list.add("III"); list.add("JJJ"); list.add("KKK"); list.add("LLL"); pageContext.setAttribute("list",list); %> ${s}

${num}
索引 序号 信息 ${vs.index} ${vs.count} ${s}
					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5161565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存