jsp与El,jstl知识点总结归纳 
jsp部分 
一.jsp的三大指令 
page ,include,taglib 
1.jsp中的page指令 
<% page %>—设置jsp 
例如: 
<%@ page language=”Java” contentType=”text/html; charset=UTF-8” 
pageEncoding=”UTF-8”%> 
<%@ page import=”java.util.List” %> 
<%@ page import=”java.util.ArrayList”%> 
<%@ page import=”java.util.Map”%> 
<%@ page import=”java.util.HashMap”%> 
<%@ page import=”domain.User” %> 
关键字: 
language 语言 Java 
contentType 设置浏览器打开jsp时候的字符集的编码 
pageEncoding 设置文件保存到硬盘,以及生成Servlet后,Servlet保存到硬盘上的编码 
import 一般引入类对象,可以出现多次 
autoFlush :设置jsp的缓存自动刷新,true自动刷出 
buffer :设置JSP的缓冲区的大小,默认8kb 
session :设置在JSP中是否可以直接使用session对象.默认值是true. 
isELIgnored :设置在JSP中是否忽略EL表达式.默认值是false不忽略. 
errorPage :设置错误友好页面的提示. 
isErrorPage :通过这个设置显示JSP的错误信息.

    1. jsp的include指令,指示JSP包含其他的页面 
      <%@ include file=”logo.jsp”%> 
      <%@ include file =”menu.jsp” %>

      BODY部分

      <%@ include file=”footer.jsp” %>

    2. jsp中的taglib 指令 指示jsp引入jsp标签库 
      <%@ taglib rui=”标签的uri路径” prefix=”标签的别名”%> 
      例如:

      <%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %> 
      引入jstl库

      二:内置对象和四个域范围 
      1.四个域 
      PageScope : 当前页面中, pageContext PageContext 
      RequestScope: 一次请求范围 request 
      SessionScope: 一次回话范围 session HttpSession 
      ApplicationScope 应用范围 application ServaletContext 
      2.内置对象 
      jsp的内置对象:在jsp中可以直接使用的对象 
      JSP中9大内置对象 
      request HttpServletRequest getParameter(),setAttribute(String name,Object value); 
      response HttpServletResponse setHeader(String name,String value);getOutputStream();getWriter(); 
      session HttpSession setAttribute();getAttribute(); 
      application ServletContext setAttribute();getAttribute(); 
      page Object toString();wait(); 
      pageContext PageContext setAttribute();getAttribute(); 
      config ServletConfig getServletName();getServletContext(); 
      out JspWriter write(),print(); 
      exception Throwable getMessage(),getCause(); 设置isErrorPage=”true”

      三:EL&&jstl

    3. <%@ page language="java" contentType="text/html; charset=UTF-8"
      pageEncoding="UTF-8"%>
      <%@ page import="java.util.List" %>
      <%@ page import="java.util.ArrayList"%>
      <%@ page import="java.util.Map"%>
      <%@ page import="java.util.HashMap"%>
      <%@ page import="domain.User" %>
      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Insert title here</title>
      </head>
      <body>
      <h1> El获取数据的功能</h1>
      <%
      pageContext.setAttribute("name", "马云");
      request.setAttribute("name", "马化腾");
      session.setAttribute("name", "李彦宏");
      application.setAttribute("name", "雷军");
      %>
      <%-- ${pageContext.setAttribute("name", "马云")} --%>
      <!-- el获取 -->
      ${pageScope.name}
      ${requestScope.name}
      ${sessionScope.name}
      ${applicationScope.name}
      <br/>
      <!--${name}类似于findAll(name) 先从page,没有找到后去request,session,application
      但是需要注意的是: 若第一个域(page)里面有name 则不会进行下一个域 的查询
      -->
      ${name}
      <br/>
      <span> ---------------------------------</span>
      <h1>数组的获取</h1>
      <%
      String[] arrs={"马云","马化腾","雷军","李彦宏"};
      // 左边的 arrs 其标记作用,右边的是数组
      pageContext.setAttribute("arrs", arrs);
      %>
      ${ arrs[0]}
      ${ arrs[1]}
      ${ arrs[2]}
      ${ arrs[3]}
      <br/>
      <c:forEach var="i" items="${arrs}">
      ${i}
      </c:forEach>
      <h1>获取集合中的数据</h1>
      <%
      List<String> list = new ArrayList<>();
      list.add("马云");
      list.add("马化腾");
      list.add("雷军");
      list.add("李彦宏");
      /* pageContext.setAttribute("list", list); */
      request.setAttribute("tsil", list);
      %>
      <br/>
      <!-- list,tsil 是
      setAttribute(String name,Object value)
      name而已
      -->
      ${tsil[0]} <!-- 马云 -->
      ${list[1]}
      ${list[2]}
      ${list[3]}
      <br/>
      <!-- 利用jstl标签库来进行遍历 -->
      <!-- 同样是需要注意 items="${tsil}" 获取的也是list集合存储的名称 -->
      <c:forEach var="a" items="${tsil}">
      ${a}
      </c:forEach> <h1> Map集合</h1>
      <%
      Map<String,String> map = new HashMap<String,String>();
      map.put("aaa","马云");
      map.put("bbb","马化腾");
      map.put("ccc","李彦宏");
      map.put("ddd.eee","雷军");
      pageContext.setAttribute("pam", map);
      %>
      <!--El表达式获取 -->
      ${pam.aaa}
      ${pam.bbb}
      ${pam.ccc}
      ${pam["ddd.eee"]}
      <br/>
      <!--jstl 遍历 -->
      <c:forEach var="entry" items="${pam}">
      ${entry.key}--${entry.value}
      <br/>
      </c:forEach>
      <!--
      list集合存贮跟数组是一样的, 直接的arr[0],list[0]
      但是 map集合的取值就不一样了, map.aaa, map.ccc ,或map["ddd.eee"]
      -->
      <h1> 获取对象的集合</h1>
      <%
      User user1 = new User(1,"马云","123");
      User user2 = new User(2,"马化腾","123");
      User user3 = new User(3,"李彦宏","321");
      User user4 = new User(4,"雷军","456"); List<User> userList = new ArrayList<User>();
      userList.add(user1);
      userList.add(user2);
      userList.add(user3);
      userList.add(user4); pageContext.setAttribute("userList", userList);
      %>
      <!-- EL表达式获取 -->
      ${ userList[0].id } - ${ userList[0].username } - ${ userList[0].password }<br/>
      ${ userList[1].id } - ${ userList[1].username } - ${ userList[1].password }<br/>
      ${ userList[2].id } - ${ userList[2].username } - ${ userlist[2].password }<br/>
      ${ userList[3].id } - ${ userList[3].username } - ${ userlist[3].password }<br/>
      <!--jstl遍历 -->
      <c:forEach var="user" items="${userList}">
      ${ user.id } -${ user.username } - ${ user.password }</br>
      </c:forEach> </body>
      </html>

        

jsp与El,jstl知识点总结归纳的更多相关文章

  1. 基础-session,cookie,jsp,EL,JSTL

    会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. kookie是在服务器端创建的,返回给浏览器,在浏览器的目录中保存了,下一次 ...

  2. 第75节:Java的中的JSP,EL和JSTL

    第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...

  3. 【转】JSP中的JSTL与EL表达式用法及区别

    对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL ...

  4. jsp中的JSTL与EL表达式用法及区别

    对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...

  5. 动态页面技术JSP/EL/JSTL

    本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...

  6. JavaEE之动态页面技术(JSP/EL/JSTL)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  7. JavaWeb之动态页面技术JSP/EL/JSTL

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  8. JavaWeb之JSP & EL & JSTL

    JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...

  9. JSP和EL和JSTL

    什么是JSP Java Server Page的缩写从用户角度看待,就是一个网页从程序员角度看待,其实是一个java类,它继承了Servlet,所以可以直接说jsp就是一个Servlet 为什么会有J ...

随机推荐

  1. Android 自定义view中的属性,命名空间,以及tools标签

    昨日看到有人在知乎上问这3个琐碎的小知识点,今天索性就整理了一下,其实这些知识点并不难,但是很多开发者平时很少注意到这些, 导致的后果就是开发的时候 经常会被ide报错,开发效率很低,或者看开源代码的 ...

  2. mysql innodb锁简析(2)

    继续昨天的innodb锁的分析: 注:此博文参考一下地址,那里讲的也很详细.http://xm-king.iteye.com/blog/770721 mysql事务的隔离级别分为四种,隔离级别越高,数 ...

  3. 【转】 ios开发证书CER文件、P12文件,mobileprovition许可文件的用途

    钥吻合之后.我们一般会给证书做个备份,这个备份就是个P12文件. 这个p12文件很好用,它不仅包含CER的信息,还有私钥信息,即: P12备份文件 = CER文件  + 私钥:所以有了这个p12就再也 ...

  4. ios 内存管理 心得

    - alloc, copy, retain会把引用计数+1 - release会把引用计数-1 - 局部变量如果初始化时不是autorelease的,要及时调用release释放,并且赋值为nil否则 ...

  5. Learning Vector

    题意: 给出n组x,y增量,从(0,0)开始以x,y坐标增加后等到的终点坐标,可以构成一个面积,再以这个终点为起点再增加,以此类推,使用增量顺序不同,得到的面积不,求用k组增量能得到的最大的面积. 分 ...

  6. loadrunner下检查点乱码情况处理

    对于很多用过LR的人来说,乱码一直是很纠结的事情,尤其是对新手来说.网上给的解决方法是在录制的时候勾选UTF-8选项,但是似乎并没有解决. 对于用户名为中文或者检查点为中文的情况,我们又该如何去处理呢 ...

  7. Linux 下部署单机 hadoop 测试

    最终运行结果展示: 格式化namenode. 开始测试 显示测试进程 浏览器查看效果展示:(虽然还不清楚是什么意思,但是能看到这个效果已经很开心了) 话不多说,进入主题: 1. 安装 VMwareSt ...

  8. 状态管理cookie 案例

    1状态管理:服务器为了追踪同一个客户端发出的请求,将多次交互看成一个整体看待 2:cookie的生存时间,默认情况下,cookie保存在浏览器内存中,只要不关闭浏览器,cookie就一直存在 如果希望 ...

  9. eclipse 编辑器的使用

    随着所编辑的文件数目的增加以及在这些文件之间的快速切换,一个又一个文件的编码以及对编辑器会话(session)的管理将会变得非常复杂.这时,有几件事情你是可以做的. 通过使用键盘快捷键,你可以快速选择 ...

  10. 组建自动化工具Ant

    组建自动化工具Ant Ant可以帮助我们自动化的完成项目的构建 下面是维基百科对Ant的介绍:http://zh.wikipedia.org/wiki/Apache_Ant Apache Ant,是一 ...