EL与JSTL

目录

EL

EL语法

EL运算符

JSTL

JSTL标签分类


JSP脚本:代码结构混乱、脚本与HTML 混合易出错、代码不易维护。

EL表达式:优化程序代码,增加程序可读性。

EL

EL语法

  • EL表达式

${ EL 表达式 }

  • EL操作符

操作符“ 

  • 获取对象的属性,eg:${ news.title }

操作符"[ ] "

  • 获取对象的属性,eg:${ news["title"]}
  • 获取集合中的对象,eg:${ newsList[0] }

                EL中严格区分大小写!!!


EL运算符

运算符

说明

( )

改变执行的优先级,例如${3*(4+5)}

+,-,*,/,%

算术运算符,例如${3+2}

==,!=,>,>=,<,<=

关系运算符,例如${a==b}${a eq b}

&&,||,!

逻辑运算符,例如${true&&false}

?:

条件运算符,例如${a>b?1:2}

empty

用于检测变量名是否为空,是否等于NULL,例如${empty name}

关系运算符

关系运算符

范例

结果

== eq

${5 == 5}${5 eq 5}

true

!= ne

${5 != 5}${5 ne 5}

false

< lt

${3 < 5}${3 lt 5}

true

> gt

${3 > 5}{3 gt 5}

false

<= le

${3 <= 5}${3 le 5}

true

>= ge

${3 >= 5}${3 ge 5}

false

EL功能

  • 取得JavaBean对象的属性
    • ${news.title}
  • 取得数组、List、Map类型对象的元素
    • ${list[0]}
  • 使用各类运算符对原始数据进行简单处理
    • ${totalRecordCount/pageSize}
  • 屏蔽一些常见的异常
    • ${username}
  • 能实现简单的自动类型转换
    • ${news}相当于(News)request.getAttribute("news")

EL访问作用域

request.setAttribute("news", news);

两种方式取数据:

使用Java小脚本request.getAttribute("news");

使用EL表达式    ${ news } 或者 ${ requestScope.news }

作用域

Java代码取值

EL取值

请求作用域

request.getAttribute("news");

${ requestScope.news }

会话作用域

session.getAttribute("username");

${ sessionScope.username }

程序作用域

application.getAttribute("count");

${ applicationScope.count }

页面作用域

pageContext.getAttribute("userNum");

${ pageScope.userNum }


JSTL

  • JSP标准标签库
  • 实现JSP页面中的逻辑控制

使用步骤

  • 下载jstl.jarstandard.jar
    • h​​​​​​​ttp://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
  • 将这两个包复制到WEB-INF\lib目录
  • 在JSP页面中添加指令
    • ​​​​​​​<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSTL标签分类

标签库名称

资源标示符(uri

前缀(prefix

核心标签库

http://java.sun.com/jsp/jstl/core

c

国际化/格式化标签库

http://java.sun.com/jsp/jstl/fmt

fmt

XML标签库

http://java.sun.com/jsp/jstl/xml

x

数据库标签库

http://java.sun.com/jsp/jstl/sql

sql

函数标签库

http://java.sun.com/jsp/jstl/functions

fn

核心标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

国际化 / 格式化标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

标签

设置变量

设置对象属性

标签:实现对集合的遍历

     ……

标签:实现条件的判断

         ……

使用JSTL构建URL:

<c:url/>超链接标签

<c:param/>参数标签​​​​​​​

<c:import/>导入标签

标签:实现格式化的日期和时间显示

标签名称

作用

输出文本内容到out对象,常用于显示特殊字符,显示默认值

在作用域中设置变量或对象属性的值

在作用域中移除变量的值

实现条件判断结构

实现循环结构

构造url地址

url后附加参数

在页面中嵌入另一个资源内容

<fmt:formatDate/>

格式化时间

<fmt:formatNumber/>

格式化数字

你可能感兴趣的:(JavaWeb,java,servlet,JSP,jsp)