JSP EL

作者: 蕊er | 来源:发表于2017-10-18 10:23 被阅读0次

JSP

JSP脚本元素

jsp脚本元素就是嵌套在<%和%>中的一条或多条java程序代码

  • JSP 脚本

    代码段,<% java 代码(变量,语句等)%>

    声明的Java代码将会编译到jspService方法中,声明的变量为_jspService方法的局部变量,调用JSP 脚本时,会为局部变量分配内存空间,调用结束后,释放局部变量占用的内存空间。

  • JSP 声明语句

    声明变量和方法作为类的属性或方法,<%! 定义的变量或方法等%>

    在上述语法格式中,声明的Java代码将会编译到Servlet的_jspService()方法之外,即在JSP声明语句中定义的都是成员方法,成员变量,静态方法,静态变量,静态代码块等,在JSP声明语句中声明的方法在整个JSP页面有效。在一个JSP页面中可以有多个JSP声明语句,单个声明的java语句可以是不完整的,但是多个声明组合后的结果必须是完整的Java语句

  • JSP表达式

    用于将程序数据输出到客户端<%= expression %>

    JSP表达式中的表达式结果直接输出到客户端,插入的为表达式,不是语句,JSP表达式中的变量或表达式之后不能为;

JSP注释

  • Html注释

    ``

    可见范围 jsp源码、翻译后的servlet页面、显示html源码

  • java注释

    //单行注释

    /*多行注释*/

    可见范围 jsp源码,翻译后的servlet

  • jsp注释:

    <%--注释内容--%>

    可见范围 jsp源码可见

JSP指令

page指令

页面特性进行描述,对整个页面都有效

<%@ page 属性名1=“属性值1” 属性名2=“属性值2” ...%>

include指令

静态包含一个文件

<%@ include file="被包含的文件地址" %>

  • 被引入的文件必须遵守JSP语法,其中的内容可以包含静态HTML,JSP脚本元素,JSP指令等普通JSP页面所具有的一切内容。
  • 除了指令元素之外,被引入的文件的其他元素都被转换成相应的java源代码,然后插入进当前JSP页面翻译成的Servlet源文件中,插入的位置与include指令在当前JSP页面中的位置保持一致。

taglib指令

用于页面中引入标签库的。

JSP9个内置对象

out,request,response,config,session,application,page,pageContext,exception

  • out对象(javax.servlet.jsp.JspWriter)

    向客户端发送文本形式的实体内容,与ServletResponse.getWriter方法返回的对象PrintWriter不同的是它相当于一种带缓存功能的PrintWriter,调用ServletResponse.getWriter()方法缓冲区的对象才能真正写入Servlet引擎所提供的缓冲区中。

    输入:

    out.println("first line");
    response.getWriter().println("second line<br>");
    

    输出:

    second line
    first line
    
  • pageContext

    • 获取其他8个内置对象

    • 存储数据功能(可设置存储范围)

      void setAttribute(String name,Object value,int scope);设置pageContext对象属性

      Object getAttribute(String name,int scope);获取pageContext对象的属性

      void removeAttribute(String name,int scope);删除指定范围内名称为name的属性

      void removeAttribute(String name);删除所有范围内名称为name的属性

      Object findAttribute(String name);从4个域对象中查找名称为name的属性,会按照page,request,session,application的顺序依次进行查找,找到返回属性值,否则返回为null

    • 域范围

      PageScope(PageContext):当前页面有效

      RequestScope(HttpServletRequest):一次请求范围

      SessionScope(HttpSession):一次会话范围

      ApplicationScope(ServletContext):应用范围

JSP动作元素

  • < jsp:include >动作元素

<jsp:include page="relativeUrl" flush="true|false" />

page属性用于指定被引入资源的相对路径,flush属性用于指定是否将当前页面的输出内容刷新到客户端,默认flush为false,服务器会等待读到底端,才输出到客户端。而当把 flush 属性赋为真值时,在缓存累积了一定数据时,服务器会先提供一部分数据给浏览器,并等待后续内容。

  • include指令与< jsp:include >动作元素区别
    • < jsp:include >标签中要引的资源和当前JSP页面是两个彼此独立的执行实体,即被动态引用的资源必须能被Web容器独立执行。而include指令只能引入遵循JSP格式的文件,被引入文件与当前JSP文件需要共同合并才能翻译成一个Servlet源文件
    • < jsp:include >标签中是在运行时才包含的,且只包含运行结果。而include指令引入的资源是在编译时期包含的,包含的为源代码
    • < jsp:include >标签运行原理与RequestDispatcher.include()方法类似,即被包含的页面不能改变响应状态码或者设置响应头,而include指令没有这方面显示

EL表达式

简化jsp写法${表达式}

  • 获取指定作用域的数据

    ${pageScope.name}

    ${requestScope.name}

    ${sessionScope.name}

    ${applicationScope.name}

    ${name}依次从page,request,session,application获取获取数据,如果都没有返回null

  • 获取请求参数

    ${param.username}

    ${param.hobby} 获得第一个参数

    ${paramValues.hobby}获取一组数据,使用数组

    ${paramValues.hobby[1]}如果是数组可以使用下标获得

  • 请求头

    ${header.accept}

    ${header[accept-Encoding]}

    ${headerValues[accept-Encoding][0]}

  • pageContext

    ${pageContext.request.contextPath}

  • 全局初始化参数

    ${initParam.name}

  • Cookie

    ${cookie}使用map存储所有Cookie,Map<名称,对象>

    ${cookie.company}根据key获取响应value

    ${cookie.company.name}通过javaBean属性获取属性

    ${cookie.company.value}

  • EL自定义数据获取必须存储在作用域中

  • EL支持算术运算符,逻辑运算符,关系运算符,三元运算符,empty运算符

相关文章

  • EL表达式 & JSP标签

    EL表达式 EL作用 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<% %> 以后开发jsp的原则...

  • jsp的内置标签

    jsp:forward 重定向标签

  • JavaWeb(十二)EL表达式

    1、实例 (1)创建一个el.jsp,action也是el.jsp (2)随便写些东西 (3) (4)el2.js...

  • Jsp(六)

    JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以...

  • jsp

    jsp介绍 jsp语法 jsp指令 EL表达式 自定义标签 jsp指令 - page jsp指令 - includ...

  • EL表达式与JSP标签(学习笔记)

      本文内容主要介绍EL表达式、JSP标准标签库(JSTL)、JSP自定义标签库。其中拿EL表达式和JSP技术做对...

  • JSP技术

    1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...

  • JavaWeb之 EL表达式

    EL表达式 EL是JSP内置的表达式语言! ​ jsp2.0开始,不让再使用java脚本,而是使用el表达式和...

  • EL技术

    概述 EL(Express Language)表达式可以嵌入在JSP页面内部,减少JSP脚本的编写,EL出现的目的...

  • EL表达式与jsp标签

    EL作用 jsp的核心语法:jsp表达式<%=%>和 jsp脚本<% %>。以后开发jsp的原则: 尽量在jsp页...

网友评论

      本文标题:JSP EL

      本文链接:https://www.haomeiwen.com/subject/fzesuxtx.html