JSP模式&EL&JSTL(1)
2017-12-27 13:33
549 查看
EL表达式的概述
1.在JSP开发中,为了获取Servlet域对象中存储的数据,经常要书写很多代码,这样做会使jsp页面混乱,难以维护,为此,JSP2.0版本中提供了EL表达式,它是一种简单的数据访问语言
什么是EL
1.EL可以简化JSP的书写方式,因此在JSP学习中,掌握EL是相当重要的,使用EL首先要学习EL表达式.首先要学习它 的语法.EL表达式很简单,都是从”${“符号开始的,”}”结束的具体格式如下
获得指定作用域对象
请求参数
请求头
pageContext
cookie
“.”和”[]”的区别
1.在JSP开发中,为了获取Servlet域对象中存储的数据,经常要书写很多代码,这样做会使jsp页面混乱,难以维护,为此,JSP2.0版本中提供了EL表达式,它是一种简单的数据访问语言
什么是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) 如果属性名中包含有特殊的字符.必须使用[]
相关文章推荐
- JSP模式&EL&JSTL(2)
- JSP模式&EL&JSTL(3)
- Day20-jsp & el & jstl
- 2014.09.18 周五-jsp开发模式:计算器-三层结构-el、jstl
- jsp & el & jstl
- 1.3--Jsp学习之EL&JSTL
- jsp笔记整理(servlet&jstl&el&jsp标准动作)
- jsp&el&jstl
- day12-jsp&el&jstl
- JSP JSTL EL 删除空行 <%@ page trimDirectiveWhitespaces="true" %>
- day_1_13 JavaWeb系列学习总结之jsp&el&jstl
- SERVLETJSP Unit05:转发 、 JSP开发常见问题 & Unit09: EL、JSTL
- jsp & el & jstl
- JSP之原理、隐含(内置)对象、开发模式、转发和重定向、EL和JSTL
- jsp & el & jstl
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
- 【JAVAWEB学习笔记】18_el&jstl&javaee的开发模式
- jsp^jstl&el
- jsp & el & jstl
- jsp & el & jstl