域对象+EL表达式+JSTL

本文介绍了EL(表达式语言)和JSTL在前端开发中的基本概念和用法。EL用于简化JSP页面中的Java代码,其运算符包括“.”和“[ ]”,四大作用域按优先级为page>request>session>application。JSTL则是一组标准标签库,如set、out和remove等,常与EL配合使用,简化页面编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.EL表达式&域对象

EL即“Expression Language(表达式语言)”的简写,它可以替代JSP页面中的复杂的Java代码。当EL得到某个数据时可以自动转换数据,因此对于类型的限制更加宽松,使用也更加简单。

EL语法:

  • ${EL expression}:直接使用变量名获取值
  • ${bean.name}${bean['name']}:属性名里特殊符号时使用

1.1:EL运算符

EL运算符有“[ ]”,“.

获取对象属性:${user.name}或${user[name]}

获取对象集合中的数据:${sessionScope.user[1]},通过下标获取

1.2:四大作用域的优先级

若EL表达式在获取作用域里面的值时没有指定作用域,则是按照以下作用域从高到低的优先级来依次查找获取的,找到即不会再继续往下找

  • 在当前页面(页面没有发生跳转):page>request>session>application

  • 页面发生跳转:request>session>application

若四大作用域在同一页面里的键名一样,默认获取的是page的值,若想获取其他作用域里面的值可指定获取哪个作用域里面的值,例:${requestScope.键名}

1.3:四大作用域范围

  • EL表达式是从四大作用域里获取数据;
  • page(只在当前页面有效)<request<session<application
  • EL表达式要获取的键没有则为空白空的页面
  • EL表达式里面不可调用方法
  • 不可在JSP中进行逻辑判断

1.4:变量属性范围名称(域对象

属性范围

EL中的名称

 

page

 

pageScope

例如:${pageScope.username},表示在page范围内查找username变量,找不到返回空

request

requstScope

session

sessionScope

application

applicationScope

1.5:通过EL表达式获取请求参数

获取单个:${param.参数名}

获取多个:${paramValues.参数名}

1.6:EL隐式对象

对象名称描述

pageScope

返回页面范围的变量名,这些名称已映射至相应的值

requestScope

返回请求范围的变量名,这些名称已映射至相应的值

sessionScope

返回会话范围的变量名,这些名称已映射至相应的值

applicationScope

返回应用范围内的变量,并将变量名映射至相应的值

param

返回客户端的请求参数的字符串值

paramValues

返回映射至客户端的请求参数的一组值

pageContext

提供对用户请求和页面信息的访问

2.JSTL

JSTLJavaServerPages Standard Tag LibraryJSP标准标签库,可提供一组标准标签和用于编写各种动态JSP页面,因此JSTL通常会域EL 表达式合作实现JSP页面的编码。

1.1:引入C标签

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

1.2:JSTL标准标签库内的标签

 set:用于给变量设置值和作用范围;例:<c:set var= "example" value="${100+1}" scope="session"  />

out:计算表达式并将结果输出显示,即在页面上显示信息或变量值;例:<c:out value="${example}"/>

remove:删除指定范围内的变量;例:<c:remove var= "example" scope="session"/>

ifif标签用于判断条件是否成立,与Java中的If语句作用相同,else需从新再判断一次

 

迭代标签(forEach):实现对集合中对象的遍历;varStatus 指定 var 成员的信息:"varStatus="vatStatusName"    

1.3:获取项目名        

${pageContext.request.contextPath }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值