EL表达式和JSTL标签

EL表达式

  • EL(Expression Language)表达式语言,用于简化JSP的输出
  • EL表达式的基本语法:${表达式}

EL的作用域对象

  • EL表达式内置四中作用域对象
  • 当我们忽略书写作用域对象时,EL则按作用域从小到大依次尝试获取
  • 如果这四个作用域都没又匹配到,则会输出空字符串
作用域对象 描述
pageScope 当前页面获取值
requestScope 从当前请求中获取值
sessionScope 从当前会话中获取值
applicationScope 从整个web应用获取值

EL表达式输出

  • 基本语法:${作用域.属性名.子属性} (作用域可不写,取值则按作用域从小到大依次尝试获取)
  • EL表达式支持 简单的运算

EL的param内置对象

  • 用来简化请求体参数的输出w
  • 语法:${param.参数名}

我们在servlet中获取请求参数:request.getParameter("xxx")

在EL中表达式我们可以直接显示:${param.xxx}

JSTL标签库

JSTL(JSP Standard Tag Library),JSP标准标签库

EL表达式可以在JSP直接使用,但JSTL需要引入JSTL标签库才可以使用:

为什么要引入JSTL标签库

  • 不建议在JSP中直接写Java代码(规范性问题)

  • EL可以解决“不用书写java代码”的问题,但它不能遍历集合,做逻辑的控制。

  • JSTL可以解决取EL的不足之w处。

与EL表达式的关系:JSTL与EL联合使用。

JSTL的标签库种类

类别
核心标签库 - core
格式化输出标签库 - fmt
SQL操作标签库 - sql
XML操作标签库 -xml
函数标签库 - functions

如何使用核心标签库

  • 核心标签库提供了JSTL的基础功能:(包括:输出,循环,迭代,判断 …)
  • <%@ taglib prefix="c" uri="thhp://java.sun.com/jsp/jstl/core %>" 用于说明当前页面所使用的标签库

JSTL判断标签

  • JSTL提供了两组判断标签

    • - 单分支判断

      • 没有else,使用并不方便

      • 使用test进行测试

        
        	

        恭喜,测试成功

    • -多分支判断

      • test语句中字符串比较使用等号==,并且字符串用单引(为了与外边的双引号区分)

      • 
        	
                

        你很优秀

        你很一般

        你需要努力

JSTL遍历集合

标签用于遍历集合的每一个对象。

 
     第${idx.index + 1} 位
     姓名:${p.name}  性别:${p.sex}  年龄:${p.age}
 

2020年还需要学JSP吗?https://zhuanlan.zhihu.com/p/117238806

你可能感兴趣的:(JavaWeb)