corvus

1>JSP指令:JSP指令(directive)是为JSP引擎而设计的,他们并不直接产生任何可见的输出,而只是告诉引擎如何处理JSP页面中的其余部分

2> 在目前JSP 2.0中,定义page、include和taglib这三个指令

3>

Page 指令是定义于JSP页面的各种属性,无论page指令出现在JSP页面中什么地方,它作用域都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好放在JSP页面的起始位置

完整语法

<%@ page 

[language="java"]

[extends="package.class"]

[import="{package.class | package.},..."]

[session="true | false"]

[buffer="none | 8kb | sizekb"]

[autoFlush="true | false"]

[isThreadSafe="true | false"]

[errorPage="relative_url"]

[isErrorPage="true | false"]

[contentType="mimeType[:charset=characterSet]"| text/html;charset=IOS-8859-1]

[pageEncoding="characterSet|ISO-8859-1"]

[isELlgnored="true|false"]

%>

errorPage属性的设置值必须使用相对路径,如果以“/”开头,表示想对于当前WEB应用程序的根目录(注意不是站点的根目录),否则相对于当前页面。

可以在web.xml文件中使用<error-page>元素为整个WEB应用程序设置错误处理页面,其中的<exception-type>子元素指定异常类的完全限制定名,<location>元素指定以“/”开头的错误处理页面的路劲。

如果设置某个JSP页面的errorPage属性,那么在web.xml文件中设置错误处理将不会对该页面起作用

常用的指令

  (1)import 属性:指定当前JSP页面对应的Servlet需要导入的类。

    <%@page import="java.text.DateFormat"%>

    (2) session 属性:取值为true | false ,指定当前页面的Session隐藏变量是否可用,也可以说访问当前页面是是否一定要生成HttpSession对象

  (3)errorPage 和isErrorPage:

    >errorPage 指定若当前页面错误的实际响应页面时什么。其中/表示的是当前web应用的更目录

    <%@ page errorPage="/error.jsp"%>

    >在响应error.jsp时,JSP引擎使用的请求转发的方式

    > isErrorPage 指定当前页面是否为错误页面,可以说明当前页面是否使用exception隐藏变量。需要注意的是:若指定isErrorPage=“true”,并使用exception的方法,一般不建议能够直接访问该页面。

    > 如何使用户不能直接访问这个页面:对于Tomcat服务器而言,WEB-INF下的文件是不能通过浏览器中的链接直接访问的,但可以通过请求转发是可以的!

    >还可以在web.xml文件中配置错误页面:

<error-page>
<!-- 指定错误代码 404 没有资源 500 内部错误 -->
<error-code>500</error-code>
<!-- 指定响应位置 -->
<location>/WEB-INF/ERROR.JSP</location>
</error-page>
<error-page>
<!-- 指定异常类型 -->
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/WEB-INF/ERROR.JSP</location>
</error-page>

  (4)contentType:指定当前JSP页面的响应类型实际调用的是response.setContentType("text/html;charset-UTF-8");通常情况下JSP页面取值均为text/html;charst=UTF-8,charset 指定返回页面的字符编码,通常是utf-8

  (5)pageEncoding:指定当前JSP页面字符编码,通常情况下该页面和contentType中的charset一致。

  (6)isELIgnored:指定当前JSP页面是否可以使用EL表达式。通常取值为false

3.include指令:

  (1).include指令用于通知JSP引擎在翻译当前JSP页面时将对其他文件中的内容合并进当前JSP页面转换成Servlet源文件中,这种源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态页面紧密结合为一个Servlet.

  <%@include file="" %>

  (2).file属性的设置必须使用相对路劲

  (3).如果/开头,表示相对当前WEB应用程序的根目录(注意不是站点根目录).否则.表示相对于当前文件.

4.JSP include标签:

  (1).<jsp:include page=""></jsp:include>

  (2).动态引入:并不是像include生成一个Servlet文件, 而是生成两个Servlet文件,然后通过一个方法的方式把目标文件包含进来

5.include 指令 和 JSP:include 标签:

1><jsp:include>标签实在当前JSP页面的执行期间插入被引入的资源的输出内容,当前JSP页面与被动态引入的资源是必须是一个能够独立被WEB容器调用和执行的资源.include指令只能引入JSP遵循JSP格式文件,被引入文件共同翻译成一个Servlet源文件

6.JSP forward:

 

(1).

<jsp:forward page=""></jsp:forward>

相当于:
<%
request.getRequestDispatcher("").forward(request, response);
%>

(2).使用jsp:forward 可以使用jsp:param子标签向文件传入一些参数,通用jsp:include也可以使用jsp:param子标签

<jsp:forward page="">
<jsp:param value="" name=""/>
</jsp:forward>

OR

<jsp:include page="">
<jsp:param value="" name=""/>
</jsp:include>

 

可以使用request.getParameter("")获取

 

<%
request.getRequestDispatcher("").forward(request, response);
%>

分类:

技术点:

相关文章:

  • 2021-07-03
  • 2021-11-30
  • 2021-05-19
  • 2021-08-23
  • 2021-07-30
  • 2021-10-28
猜你喜欢
  • 2021-05-24
  • 2021-08-29
  • 2021-08-18
  • 2021-10-31
  • 2021-11-11
  • 2021-12-24
相关资源
相似解决方案