zoukankan      html  css  js  c++  java
  • JSP的学习二(指令与标签)

    一:page指令

    1.JSP的指令

      放在<%@ 指令 属性=“值”%>

      主要有page,include,tablib。

    2.page指令

      用于定义JSP页面的各种属性,作用于是JSP的整个页面。建议,page指令放在JSP的起始位置。

      language:JSP可以使用的语言。

      extends:“package.class”

      import: ALT+/ 导包

      session:true或者false,说明当前JSP是否可以使用session。

      errorPage: 当前的页面出现错误,可以跳转到errorPage后面值的页面,例如=“/error.jsp”,就会跳转到根目录下的error.jsp。同时,在错误页面error.jsp中加上下面的指令,就可以使用exception,调用API,exception.getMessage()得到出错的原因。内部是转发机制。

      isErrorPage:不建议这个页面被直接访问,WEB-INF下的文件不能通过浏览器直接访问,但是可以通过请求转发去访问,所以,errorPage="/WEB-INF/error.jsp"。

      contentType:指定当前页面的响应类型,实际调用的是response.setContentType("text/html ; charset=UTF-8");

      pageEncoding: 指定JSP页面的字符编码,通常情况下该值和contentType中的charSet一致。

      isELIgnored:页面是否可以使用EL表达式,一般为true。

    3.关于isErrorPage  

      如果不在出错页面配置这个指令,也可以在web.xml中配置,如下:

      <error-page>

        <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>

    二:include指令

    1.静态包含

    #a.jsp

      ¥其中,file引入的文件是相对路径。

      ¥如果是/,则表示web应用程序的根目录,不是站点根目录,否则表示当前文件。

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>AAAAAAAAAA</h2>
    11     <%@ include file="b.jsp" %>
    12 </body>
    13 </html>

    #b.jsp

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>BBBBBBBBBBB</h2>
    11 </body>
    12 </html>

    #结果

      

    2.注意

      在a.jsp中定义的变量,可以在b.jsp中直接使用

    三:JSP标签

    1.Action标签

      在JSP中还提供了一种称之为Action的元素,使用这些元素可以完成各种通用的JSP页面功能。

      Action采用XML元素的语法格式。

      都使用jsp作为前缀,并且全部采用小写,例如,<jsp:include>

    2.<jsp:include>

      动态引入。

    #a.jsp

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>AAAAAAAAAA</h2>
    11     <%--<%@ include file="b.jsp" %> --%>
    12     <jsp:include page="b.jsp"></jsp:include>
    13 </body>
    14 </html>

    3.注意

      生成两个Servlet源文件

    4.<jsp:forward>

      用于把请求转发给另外一个资源。

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

    5.程序(相当与转发)

      相当于:

      <% request.getRequestDispatcher("/include/b.jsp").forward(request,response); %>

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>AAAAAAAAAA</h2>
    11     <%--<%@ include file="b.jsp" %> --%>
    12     <%--<jsp:include page="b.jsp"></jsp:include> --%>
    13     <jsp:forward page="/include/b.jsp"></jsp:forward>
    14 </body>
    15 </html>

    6.区别

      jsp:forward可以使用jsp:param子标签,同样jsp:include也可以传递参数。

    #a.jsp

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>AAAAAAAAAA</h2>
    11     <%--<%@ include file="b.jsp" %> --%>
    12     <%--<jsp:include page="b.jsp"></jsp:include> --%>
    13     
    14     <jsp:forward page="/include/b.jsp">
    15         <jsp:param value="tom" name="username"/>
    16     </jsp:forward>
    17 </body>
    18 </html>

    #b.jsp

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <h2>BBBBBBBBBBB</h2>
    11     <%=request.getParameter("username") %>
    12 </body>
    13 </html>

    #效果

      

      

      

      

  • 相关阅读:
    Python Day14
    Python Day13
    Python Day12
    Python Day11
    Python Day10
    Python Day9
    Python Day8
    Python Day7
    Python Day6
    Python Day5
  • 原文地址:https://www.cnblogs.com/juncaoit/p/7425686.html
Copyright © 2011-2022 走看看