JSP模式&EL&JSTL(1)

  1. EL表达式的概述
    1.在JSP开发中,为了获取Servlet域对象中存储的数据,经常要书写很多代码,这样做会使jsp页面混乱,难以维护,为此,JSP2.0版本中提供了EL表达式,它是一种简单的数据访问语言
  2. 什么是EL
    1.EL可以简化JSP的书写方式,因此在JSP学习中,掌握EL是相当重要的,使用EL首先要学习EL表达式.首先要学习它 的语法.EL表达式很简单,都是从”${“符号开始的,”}”结束的具体格式如下
${表达式}
 2.EL的使用:内置对象
 内置对象名称
 pageScope    page作用域
 requestScope    request作用域
 sessionScope    session作用域
 applicationScope    application作用域
 param    获取一个参数
 paramValues    获取一组参数
 header   获得一个请求头
 headerValues    获得一组请求头
 pageContext  JSP上下文对象
 initParam   全局初始化参数
 cookie    cokkie
  • 获得指定作用域对象
<%--初始化数据--%>
<%
    pageContext.setAttribute("name","pValue");
    session.setAttribute("name","sValue");
    request.setAttribute("name","rValue");
    application.setAttribute("name","aValute");
%>
<%--使用jsp脚本获取数据--%>
    <%=pagetContext.getAttribute("name")%><!-- 没有找到返回null -->
    <%=session.getAttribute("name")%>
    <%=request.getAttribute("name")%>
    <%=application.getAttribute("name")%>
<% s使用EL表达式%>
    ${pageScope.name}<!-- 返回的是"" -->
    ${requestScope.name}
    ${sessionScope.name}
    ${applicationScope.name}
<%--依次获得数据--%>
    ${name}<!--底层使用 pageContext.getAttribute("name"),依次从page,request,session,application获取,如果没有返回null如果找到就立马停止查询-->
  • 请求参数
//请求路径:/项目名/index.jsp?username=admin&hobby=chouyan&hobby=hejiu
<%--
    param.xxx  对应 request.getParamter("xxx");
    params.xxx 对应 request.getParamters("xx");
--%>
<%
    ${param.username}<br/>
    ${param.hobby}<br/><%--获取第一个参数--%>
    ${paramValues.hobby}<br/><%--获取一个数组--%>
    ${paramValues.hobby[1]}<%-如果是数组,用下标获取-%>
%>
  • 请求头
<%--
    header.xxx  对应request.getHeader("xxx"); 
    headerValues.xxx 对象request.getHeaders("xxx");
--%>
    ${header.acept}<br/>
    ${header.accept-Encoding}<br/><%--非法的,有异常的,"-"被解析成减号.使用"/"进行单个EL表达式转义--%>
    ${header['accept-Encoding']}<br/>
    ${headerValues['accept-Encoding'][0]}
  • pageContext
<%--
    pageContext对应pageContext对象
    jsp:<%=((HttpServletRequest)pageContext.getRequest).getContextPath%><br/>
    EL:${pageContext.request.contextPath}
--%>
  • cookie
<%--
    cookie没有对应的api.底层使用request.getCookies()获取所有的cookie,然后遍历放到Map中Map<name,obj>
-%>
    ${cookie}</br><%--获取所有cookie Map存储--%>
    ${cooke.company}<%--map.key对应的Value--%>
    ${cookie.company.name}<%--通过JavaBean 属性获得属性,获得cookie的名称,对应方法getName()--%>
  • “.”和”[]”的区别
1) []用于有下标的数据(数组,集合) .用于有属性的数据(map,对象)
2) 如果属性名中包含有特殊的字符.必须使用[]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值