Page指令
概述
Page指令用于定义JSP页面的各种属性,无论PAGE指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
page的常用指令
1.import属性:指定当前JSP页面对应的Servlet需要导入的类。
<%@page import=”java.text.DateFormat”%>
2.session属性:取值为true或false,指定当前页面的session隐藏变量是否可用,也可以说访问当前页面时是否一定生成HttpSession对象
<%@page session=”false”%>
3.errorPage和isErrorPage:
errorPage指定若当前页面出现错误的时机页面是什么,其中/表示的是当前WEB的根目录
<%@page errorPage=”/error.jsp”%>
isErrorPage 指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用eception隐藏变量,需要注意的:若指定isErrorPage=”true”,并使用eception的方法,一般不建议能够直接访问该页面。
如何使客户不能直接访问某一个页面呢?
对于Tomcat 服务器而言,web-inf下的文件是不能通过在浏览器中直接输入地址的方式来访问,但通过请求的转发是可以的!
4.contentType:指定当前的JSP页面的类型。实际调用的是response.setContentType(“text/html; charset=UTF-8”);
通常情况下,对于JSP页面而言其取值均为text/html; charset=UTF-8。charset指定返回的页面的字符编码是什么。通常取值为utf-8.
5.pageEncoding:指定当前JSP页面的字符编码,通常情况下该值和contentType中的charset一致。
6.pageELIgnored:指定当前JSP页面是否可以使用EL表达式,通常取:TRUE.
include指令
1.include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet.
2.file属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前文件。
jsp:include标签:
1.<jsp:incldue page="b.jsp"></jsp:include>
2.动态引入:并不是像include指令生成一个Servlet源文件,而是生成两个Servlet源文件,然后通过一个方法的方式把目标页面包含进来。
jsp:forward:
1.<jsp:forward page="/include/b.jsp"></jsp:forward>
相当于
<%
request.getRequestDispatcher(“/include/b.jsp”).forward(request,response);
%>
2.但使用jsp:forward可以使用jsp:param 子标签向b.jsp传入一些参数,同样jsp:include 也可以使用jsp:param子标签。
<jsp:param value="abc" name="username"></jsp:param>
在b.jsp页面可以通过request.getParameter(“username”)获取到传入的请求参数