EL、JSTL、OGNL表达式

EL表达式 ${}

表达式就是变量加符号得到最终结果

只能得到值,不能做逻辑表达

主要目的是为了得到一个值,至于从哪里得到,不是重点,可以放在jsp里任何一个标签里,但是不能放在JSP小脚本里,在EL表达式中 {} 里一定得出一个值 。

EL表达式获取内容的过程

 如:${3>4}    获得的值结果为false
    ${"aa"}   获得字符串aa 
     ${list[1].username}

EL表达式,是可以获得很多位置上的内容的,但是我们要注意一些点:EL表达式获取数据的顺序是从小到大的顺序来获取的。

page—> request—> session —> application

page: 当前用户,当前页面(不常用)
request:当前用户,本次请求
session:当前用户,没有退出之前(本次浏览器没有关闭前或session没有失效前)

application:所有用户,任何时候(服务器没有退出之前),JSP的一个内置对象,一般只有全局性的配置,全局性的统计才有可能放aplication中做。

​ 加上**Scope描述之后,它就去这个域去拿,不加 就是按顺序拿,
​ scope—存储域
​ 如${sessionScope.list}

JSTL

JSTL 是一个标签库。

JSTL 依托、结合EL表达式来做的,因为EL表达式是可以放置在html标签内部;

EL表达式和JSTL都是对小脚本的封装,EL表达式封装是取值过程,而JSTL 标签库封装的是流程控制过程。

需要导入的包:jstl-1.2.jar (版本任意)

设置lib库:以常用的c包为例(c是核心)

f包(fmt)---->标准格式化包

fn包(functions)----->函数支持包

sql包---->数据库链接支持包

xml包---->解析xml

prefi——>前置名,一般不用改

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

简单的使用

 set加一个值给进来  remove删掉
<c:set value="ddd" var="name" scope="page"></c:set>
<c:remove var="name"></c:remove>
    <c:out></C:out>  相当于  ${out }

//c标签的分支

<c:if test="${3>4}">     <div>fdsa</div>   </c:if>//choose选择, when判断,第一个成立后面when不选择,所有的when不成立执行otherwise。   <c:choose>           <c:when test="${5>4}">                    <div>hhhhh</div>          </c:when>         <c:when test="${6>4}">                    <div>zzzzzzz</div>          </c:when>          <c:otherwise>                   <div>yyyyy</div>          </c:otherwise>   </c:choose>   //输出结果为hhhhh

//c标签的循环

其中的属性:

items :要被循环的信息 默认值无

begin:开始的元素(0=第一个元素,1=第二个元素) 默认值 0 end :最后一个元素(0=第一个元素,1=第二个元素) 默认值 Last element
step :每一次迭代的步长 默认值 1
var :代表当前条目的变量名称 默认值 无
varStatus :代表循环状态的变量名称 默认值 无

  <c:forEach items="${list}" var="item" varStatus="status">
     <div>当前是第 ${status.count} 个用户,用户名: ${item.username}</div>
   </c:forEach>

9大内置对象:(常用的是前6个)
OGNL表达式
out:输出对象,负责向页面输出一行内容
request:请求对象,就是请求到本页面的请求体
response:向前端返回数据的工具
session:就是HTTPSession,当前会话对象
application:特指当前应用
page:当前页面(object)
pageContext:高级容器,是所有JSP的容器,也叫所有JSP的最高管理者 、 内置对象生成器,基本上所有内置对象都是从它里面拿出来的除了request,response那些
config: 配置信息对象(当前页面)
exception:当且仅当这个JSP发生错误异常的时候,这个对象才会出现

OGNL表达式

如:#{valu}
前端<———>后端方式

前端往后端发送的方式两种:

1.同步 ----就是form表单那种同步提交,同步提交得到的结果是页面的切换,所以是同步提交,后端就给前端回一个新的页面,用sendRedirect或getRequestDispatcher来前端页面进行一个整体跳转

2.异步------如果是异步,直接让前端获得一个字符串,用resp.getWriter()这个过程就行

后端往前端发送方式三种:

第一种:直接返回一个数据字符串

第二种:重定向

第三种:转发

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值