学习EL表达式与JSTL标签

EL表达式用于简化jsp取值的操作

基本语法:${域对象别名.键}

String value = (String)request.getAttribute("key");

等于

${requestScope.key}

四大域对象(别名)

applicationScope

  • 描述applicationScope 表示整个Web应用程序的作用域,其中存储了在应用程序生命周期内有效的属性和变量。
  • 生命周期: 数据存储在 ServletContext 对象中,从Web应用程序启动到关闭期间一直有效。

sessionScope

  • 描述sessionScope 表示HTTP会话的作用域,其中存储了在整个用户会话期间内有效的属性和变量。
  • 生命周期: 数据存储在 HttpSession 对象中,从用户登录到退出期间一直有效。

requestScope

  • 描述requestScope 表示当前HTTP请求的作用域,包含了在该请求中设置的属性和变量。
  • 生命周期: 数据存储在 HttpServletRequest 对象中,仅在当前请求周期内有效。

pageScope

  • 描述pageScope 表示当前JSP页面的作用域,即在当前JSP页面中设置的属性和变量。
  • 生命周期: 数据存储在 pageContext 对象中,只在当前页面请求周期内有效。

 允许不写别名 ${键}

将按照以下顺序查找

  1. pageContext:EL首先会检查 pageContext 对象,这是EL表达式的默认上下文。如果找到匹配的属性,即返回该属性的值。

  2. requestScope:如果在 pageContext 中没有找到属性的值,EL 将继续在 requestScope 中查找匹配的属性。

  3. sessionScope:如果在 requestScope 中也没有找到属性的值,EL 将继续在 sessionScope 中查找匹配的属性。

  4. applicationScope:最后,如果在 sessionScope 中仍然找不到属性的值,EL 将在 applicationScope 中查找匹配的属性。

如果以上所有作用域中都找不到对应的属性,会返回空值(null)。

Servlet中向request域对象填充数据

记得不能使用重定向,只有跳转才能保存request域中的数据

request.setAttribute("key", value);
request.getRequestDispatcher("/example.jsp").forward(request, response);

 使用EL表达式获取请求参数

${param.key}

String value = request.getParameter("key");

等于

${param.key}

${paramValues.key[0]} 用于获取多个同名值时使用

/example.jsp?key=1&key=2

JSTL用于简化jsp的流程语句 

版本区别与下载地址

https://www.cnblogs.com/gudi/p/6870346.html

 在jsp页面加上

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
导入jstl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值