EL表达式 与 JSTL标签库

EL表达式

什么是el

jsp内置的表达式语言

el表达式的作用

代替脚本

el如何获取数据

1、获取域中的数据

简单数据:${域中的key值}

注意:如果多个域中的key值一样 那么取出的顺序?

从范围小的开始查找,查找到以后就返回

如果没有查询到对应的key 返回""(空字符串)

例如:

<%

pageContext.setAttribute("num", 5);

request.setAttribute("num", 1);

session.setAttribute("num", 0);

application.setAttribute("num", 2);

%>

<p>${ requestScope.num}</p>

<p>${ sessionScope.num}</p>

<p>${ applicationScope.num}</p>

<p>${ num}</p>

复杂数据:

数组:${域中的key值 [ index ] }

list:${域中的key值 [ index ] }

map:

一般数据:${域中的key值.map中的key}

如果map的是特殊(数字等):${域中的key值 [ " key " ] }

javaBean导航:

javaBean:我们编写的一个普通java类:类似:User,Person……

javaBean规范:

1、必须是一个共有的类

2、提供私有字段

3、必须提供私有字段公共的get、set方法(boolean :is)

4、必须提供无参构造

5、一般来说需要实现Serializable接口(序列化)

用法:

${域中的key值.javabean属性}

javabean属性:就将get或set方法去掉头(set,get) 然后将首字母小写

2、el表达式的内置对象:pageContext

${ pageContext.request.contextPath}   <!--获取项目的根路径-->

${pageContext.request.requestURI}   <!-- 请求的url -->

${pageContext.request.queryString}   <!-- 获取查询参数-->

${pageContext.request.method}   <!-- 请求方式-->

${pageContext.request.protocol}   <!-- http协议-->

${pageContext.request.serverName}   <!-- 服务器名字-->

3、el中的保留字段

and eq  gt div
or ne  le mod
no lt  ge true
instanceof empty  null false

4、el执行运算

算数:

+:只能进行加法,不能实现拼接

/:div        例如:${ 10 / 2 }  等同于  ${ 10 div 2 }

%:mod    例如:${ 10 % 2 }  等同于  ${ 10 mod 2 }

关系:

> 或者 gt        例如:${8>9}   或者   {8 gt 9 }

>= 或者 ge     例如:${45>=9}   或者   ${45 ge 9 }

< 或者 lt         例如:${4<9}   或者   ${4 lt 9 }

<= 或者 le      例如:${9<=8}   或者   ${9 le 8 }

== 或者 eq     例如:${4==4}   或者   ${4 eq 4 }

!= 或者 ne      例如:${4!=3}   或者   ${4 ne 3 }

逻辑:

&& 或者 and    例如:${false && false}   或者   ${false and false }

|| 或者 or         例如:${true || false}   或者   ${true or false }

! 或者 not        例如:${!true}(相当于${false})   或者   {not true }

empty:判断容器的长度是否为0、判断对象是否为空

例如:

JSTL 标签库

作用:用来代替脚本

导入格式:

taglib:导入标签库

<%@ taglib prefix="",uri="" %>

prefix:前缀(一个命名)

uri:标签路径

JSTL标签库的分类

核心标签:Core

if:条件判断

属性:

test:条件表达式(${})

var:接收条件表达式的结果

scope:var变量的作用范围

例如:

<c:if test="${ 1==1}" var="result" >

${result}

1 等于 1

</c:if>

<c:choose>(与switch的功能类似)

属性:

choose:switch

when:case

otherwise:defalut

例如:

<c:choose>

<c:when test="${3>4}">

3>4

</c:when>

<c:when test="${3<4}">

3<4

</c:when>

<c:otherwise>

3 = 4

</c:otherwise>

</c:choose>

<c:foreach>:循环

属性:

begin:开始

end:结束

step:递增值

items:要遍历的对象

var:遍历结果

varStatus:循环状态

对象:

index:以begin的值为开始下标

count:当前执行的次数

first:判断是否为第一个变量,是(返回true),否(返回false)

last:判断是否为最后一个变量,是(返回true),否(返回false)

例子:

<c:forEach begin="5" end="10" step="1" var="i" varStatus="vs">

${vs.index}<br>

${vs.count}<br>

${vs.first}<br>

${vs.last}<br>

变量值:  ${i}<br>

</c:forEach>

<c:out>:<%=%> 输出

<c:set>:向域中设置值

属性:

value:值

var:key

scope:域

例如:

<c:set value="abc" var="msg" scope="request"></c:set>

格式化标签:fmt

例如:

<c:set var="now" value="<%=new Date()%>" scope="request"></c:set>

<p> <fmt:formatDate value="${now}" type="both"></fmt:formatDate></p>

函数标签:fn

例如:

<c:set value="abc" var="msg" scope="request" ></c:set>

${fn:toUpperCase(msg)}

${fn:contains("aaabc","aaa" )}

原文地址:https://www.cnblogs.com/wzhsc/p/10331891.html

时间: 2024-11-09 01:57:47

EL表达式 与 JSTL标签库的相关文章

Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成service方法中out.write(表达式或变量) <%!java代码%>:被翻译成servlet的全局的内容,方法,全局变量 2.jsp的运行原理 jsp在运行时翻译成servlet index.jsp------>work/index_jsp.java----->work/inde

JavaWeb基础—EL表达式与JSTL标签库

EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一个小案例: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.jiangbei.domain

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

<转载> 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供

EL表达式和JSTL标签库使用详解

JavaBean在JSP中的局限 获取JavaBean属性必须要实例化 强制类型转化 <% Employee employee = (Employee)request.getAttribute("employee"); Computer comp = employee.getComputer(); String manufacturer = comp.getManufacturer(); %> 如果页面编写出现逻辑错误,将会导致代码执行错误,并且JSP页面编译页面时也会产生

JAVA Web基础 EL表达式与JSTL标签库

一.EL表达式语言1.EL表达式全称expression language,用于在JSP页面获取其内置对象的内容语法:${...}在jsp中page指令有一个属性是isELIgnored, 用来标记此页面是否忽略EL表达式, 默认为false,即不忽略2.用法说明常规写法举例:<%= request.getAttribute("test")>EL表达式写法:${test}//当作用域属性名都是唯一时可以这么写            ${requestScope.test}/

EL表达式和JSTL标签库

1 EL表达式 1.1 EL的概述 EL,全名为Expression Language. 主要作用: ①EL表达式主要用于替换jsp页面中的脚本表达式,以便于从各种类型的web域中检索java对象(某个web域中的对象),获取数据(访问javabean的属性.访问List集合.访问Map集合.访问数组). ②执行运算. ③利用EL表达式可以在jsp页面中执行一些基本的关系运算.逻辑运算和算数运算,以便于在jsp页面完成一些简单的逻辑运算. ④获取web开发常用的对象. ⑤EL表达式定义了一些隐式

在EL表达式或者Struts标签库中格式化日期对象,即将Date转换为yyyy-MM-dd格式

一.EL表达式 首先,在jsp页面引入<fmt> tags,<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>. 其次,将EL表达式作为fmt标签属性的value值.再增加pattern参数,为日期制定需要格式化的格式,如yyyy-MM-dd.例如: <fmt:formatDate value="${object.dateproperty}&quo

JavaWeb(七)Cookie,EL表达式,标准标签库

Cookie Cookie概述 Cookie译为小型文本文件或小甜饼,Web应用程序利用Cookie在客户端缓存服务器端文件.Cookie是以键值对形式存储在客户端主机硬盘中,由服务器端发送给客户端,客户端再下一次访问服务器端时,服务器端可以获取到客户端Cookie缓存文件. Cookie是由服务器端创建的,然后由服务器端发送给客户端,客户端以键值对形式存储Cookie,并标注Cookie的来源.客户端再次访问服务器端时,存储的Cookie会保存在请求协议中,服务器端可以获取上次存储的缓存文件内

EL表达式、 jstl标签

EL表达式(Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化. 1.语法结构 ${expression} 2.[ ]与.运算符 EL 提供"."和"[ ]"两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用"[ ]".例如