JSP、JSTL、EL学习总结

来源:互联网 发布:davinci监控视频软件 编辑:程序博客网 时间:2024/06/13 18:51

【0】JSP简介
- Java Server Page
- JSP的本质就是一个Servlet
- jsp –翻译–> java –编译–> class

【1】JSP九大隐含对象

  • pageContext
    类型:PageContext
    作用:可以获取到页面中的其他隐含对象,同时它还是一个域对象
  • request
    类型:HttpServletRequest
    作用:可以获取用户发送的请求信息,它也是一个域对象
  • session
    类型:HttpSession
    作用:可以作为域对象,用来共享数据
  • application
    类型:ServletContext
    作用:是JavaWeb中最大的域对象
  • response
    类型:HttpServletResponse
    代表:响应
    作用:向浏览器发送响应信息
  • out
    类型:JspWriter
    代表:输出流
    作用:可以向页面输出内容
  • config
    类型:ServletConfig
    代表:当前JSP的配置信息
    作用:可以获取到Servlet标签中初始化参数
  • page
    类型:Object 在service方法中有如下代码 Object page = this;
    代表:代表当前JSP的对象
  • exception
    类型:Throwable
    代表:异常信息
    作用:获取页面中的异常

【2】JSP基本语法

  • 模板元素:JSP中html代码;其内容最终会作为out.write()的参数
  • 脚本片段:<% %>
    脚本片段中的代码会原封不动的复制到java文件的service方法中的指定的位置
  • 表达式:<%= %>
    内容最终会作为out.print()的参数输出到页面中
  • 声明:<%! %>
    声明中的内容会直接写到jsp对应的java类中

【3】前端后台简单传值

  1. 超链接标签传值

    通过href在捕获到servlet方法后使用?携带参数传值(问题:参数会明文显示在地址栏中,不安全,但可以用来传id等不重要数据);
    后台通过request.getParameter()方法获取到参数值;

  2. 表单传值
    方法如上,href改为aciton捕获;

  3. 对于常用的且对安全不产生影响的数据可以放在session域对象中存储,方便各页面取值查询;

    HttpSession session = request.getSession();
    session.setAttribute(“test”, test);

【4】JSTL(用于在jsp页面使用循环等java语句)

  1. JSTL的使用需要导入两个taglibs jar包

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

  3. c:when和c:otherwise不能脱离c:choose使用,想当于if else if else语句

  4. c:forEach遍历集合时 var对集合中的对象引用的名字
    遍历数组: step :步长,每次自增的大小

  5. c:url 作用:创建一个完整的绝对路径 还可以携带参数只需要在c:url下加入<c:param name="name" value="孙悟空"></c:param>
    可以直接作为字符串放在<a href="">的href中
  6. c:redirect:这个重定向跟response的sendRedirect不一样,sendRedirect需要加上项目名,而c:redirect自动补上了项目名

【5】EL(用于向页面输出内容)

1.${表达式}
2.域:pageScope requestScope sessionScope applicationScope
3.通过EL表达式读取对象的属性时,只需要${对象.属性名}
4.内置对象:
pageContext 可以获取到JSP中其他的隐含对象
pageScope可以获取到page域中的属性
requestScope可以获取到request域中的属性
sessionScope可以获取到application域中的属性
param可以获取请求参数
paramValues获取到一个请求参数对应的多个值
范围比较:page《request《session《application
5.EL运算:在EL中可以使用Empty元素符 如果值为null , empty则返回 true;如果为空串, 则返回 true;
空的集合 返回true

原创粉丝点击