daily 2017 6 4 jsp el - wtdig/study GitHub Wiki
详情链接:http://note.youdao.com/noteshare?id=95fef99c1008c36c19a41a9e28942eeb
1、错误页面,当程序出错时,可以跳转到错误页面,在jsp中引入errorPage标签,例如:errorPage="errorPageo1.jsp"
一般在项目开发中,会将所有的错误页面统一分配:在web-inf/web.xml中进行错误页面配置
<error-page>
错误码
<error-code>500</error-code>
跳转的错误页面路径
<location>/jsp/errorpage01.jsp</location>
</error-page>
2、taglib
通过JSP的taglib指令把封装的Java代码的标签先进入到JSP页面:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
在taglib指令中的属性:
uri:是当前标签对应的Java代码封装之后的名称空间,唯一
prefix:它是当前在页面上可以使用的标签的前缀
3、jsp的9大内置对象
JSP的内置对象9个:
这9个内置对象,可以在JSP翻译之后的对应的Java源代码的service方法中找到:
HttpServletRequest request 请求---容器对象
HttpServletResponse response 响应
HttpSession session session 容器对象(会话内使用)
ServletContext application 表示当前项目对象(全局的)---容器对象
ServletConfig config 专门获取当前这个Servlet(jsp)的配置信息
Object page = this 它表示的是当前那个JSP页面对象(翻译之后就是一个Servlet程序,这个page本身就是一个Servlet,但是由于在翻译之后赋值给了Object类型,导致不能使用使用Servlet中的功能)。后期把它当作(jsp)第四个容器使用。------不建议使用
PageContext pageContext 它表示的是当前jsp页面的上下文。它的主要功能之一就是可以获取到JSP页面上的其他八个内置对象。
Throwable exception 主要是表示当前JSP页面上的异常信息的----必须该页面标记了是错误页面。
JspWriter out 它相应于我们在Servlet中使用的response.getWrite
域对象的范围
page:代表当前(当前的jsp,或者servlet)数据范围,保存数据到当前页面。数据只能在当前页面使用。
其他的页面或者是servlet是不能够取出page中的数据的。
page > request > session > ServletContext(application)
page:最小只是自己可以使用
request:一次请求可以使用
session:一次回话可以使用
application:整个项目运行过程中可以使用
常用request。
EL 全名为Expression Language。表达式语言。
EL主要作用:
获取数据:最常用的是从4个域对象获取数据(page,request,session,application(servletContext))。
EL表达式主要用于替换JSP页面中的脚本表达式<%= %>,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象, 访问javabean的属性、访问list集合、访问map集合、访问数组)
主要替换<%= %>
执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
获取数据----重各个域对象中
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。
替代掉<%= %>
(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
如果数据是null,把null输出给用户,用户不会理解null是什么意思。所以使用el表达式输出的空字符。
域对象是可以省略的。省略的时候,会自动从page,request,session,application去查询数据。
el的中括号和点的区别:
如果属性或者key出现了特殊字符。使用对象.属性名的时候,就会找不到数据。可以使用[]进行替代 把属性或者key放到中括号中加上双引号 引起来,可以取出数据。