JavaWeb

JavaWeb-016-JSP指令

2017-11-23  本文已影响11人  53b3f4658edc

JSP指令简介


Page指令

<%@ page 
[ language="java" ]         //指定使用的语言(目前只有Java)
[ extends="package.class" ] //JSP翻译成源文件之后,继承的父类
[ import="{package.class | package.*}, ..." ]   //进行导包
[ session="true | false" ]              //是否使用session这个隐含对象,默认是true,是否生成HttpSession这个对象
[ buffer="none | 8kb | sizekb" ] 
[ autoFlush="true | false" ] 
[ isThreadSafe="true | false" ] 
[ info="text" ] 
[ errorPage="relative_url" ]            //出错的时候,跳转到这个页面去,/表示的是当前web应用的根目录,这里是转发的形式(这样exception才不是null)
[ isErrorPage="true | false" ]      //这个页面是不是错误页面(错误页面会启用exception隐含对象)
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 
                                //指定当前JSP页面的响应类型(实际调用的是response.setContenttype()方法)
[ pageEncoding="characterSet | ISO-8859-1" ]    //指定当前JSP页面的字符编码格式
[ isELIgnored="true | false" ]          //当前JSP页面是否忽略EL表达式,默认是false,启用
%>

测试代码

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0">
    
      <!-- 全局error页面 -->
      <error-page>
        <error-code>500</error-code>
        <location>/error.jsp</location>
      </error-page>
      
</web-app>

indexA.jsp

<%--
 JSP指令:
    1.这就是JSP指令
    2.里面的内容可以分开成几个JSP写(空格分开的)),也可以一次写完 
    3.三种指令:
        3.1.page
        3.2.include
        3.3.taglib
--%>

 <%@ page language="java"  contentType="text/html;charset=UTF-8"  pageEncoding="UTF-8" %>

<%-- 
    page指令:
        1.无论page指令出现在页面的任何地方,最作用的范围都是整个页面,但是一般写在开头
        2.常用内容:
            2.1.language="java" :                                           指定使用的语言(目前只有Java)
            2.2.[ extends="package.class" ] :                       SP翻译成源文件之后,继承的父类
            2.3.[ import="{package.class | package.*}, ..." ] : 进行导包
            2.4.[ session="true | false" ]:                             是否使用session这个隐含对象,默认是true(是否生成HttpSession这个对象)                  
            2.5.[ errorPage="relative_url" ] :                          出错的时候,跳转到这个页面去,/表示的是当前Web应用的根目录
            2.6.[ isErrorPage="true | false" ]:                         这个页面是不是错误页面(错误页面会启用exception隐含对象)
            2.7.[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 
                                                                                    指定当前JSP页面的响应类型(实际调用的是response.setContenttype()方法)
            2.8.[ pageEncoding="characterSet | ISO-8859-1" ]指定当前JSP页面的字符编码格式
            2.9.
            
            
            
--%>
 
 <%-- 
    2.3.
        import
            -不用显示导包的(生成的Servlet中自己就有):
                import javax.servlet.*;
                import javax.servlet.http.*;
                import javax.servlet.jsp.*; 
 --%>
<%@ page  import="java.util.Date" %>
 
<%-- 
    2.4.
        session
            -是否启用session这个隐含对象,默认是true
--%>
 <%@ page session="false" %>
   <%--
    2.8.
    errorPage
        -出错的时候(抛异常到了JVM),跳转到这个页面去,/表示的是当前Web应用的根目录
    --%> 
<%@ page errorPage="/404/index.jsp" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
        
    </head>
    
    <body>
        <%
            System.out.println("Date: " + new Date());
        %>
        
        <%--
            <%= session.getId()%>       //因为上面的page指令中的session="false",所以隐藏对象session不能使用 
        --%>
        
        <%
            int i = 10/0;
        %>
    </body>
</html>

testXMLError.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
    
    <body>
        <%
            int i = 1/0;
        %>
    </body>
</html>

errorPage

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!-- 是错误页面 -->
<%@ page isErrorPage="true" %>

<!doctype html>
<html>
<head>
    <title>错误页面</title>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="css/404.css">

    <script src="404/js/jquery.min.js"></script>
    <script src="404/js/scriptalizer.js" type="text/javascript"></script>
    
    <script type="text/javascript">
        $(function(){
            $('#parallax').jparallax({});
        });
    </script>
    
</head>
<body>

<div id="parallax">
    <div class="error1">
        <img src="404/images/wand.jpg" alt="Mauer" />
    </div>
    <div class="error2">
        <img src="404/images/licht.png" alt="Licht" />
    </div>
    <div class="error3">
        <img src="404/images/halo1.png" alt="Halo1" />
    </div>
    <div class="error4">
        <img src="404/images/halo2.png" alt="Halo2" />
    </div>
    <div class="error5">
        <img src="404/images/batman-404.png" alt="Batcave 404" />
    </div>
</div>

        <%-- 调用exception隐含对象的exception对象 --%>
        <%
            System.out.println(exception.getMessage());
        %>
</body>
</html>
微信公众号:JavaWeb架构师

include指令


测试代码
a.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
    
    <body>
        <h1>A Page</h1>
        
        <%-- 在a.jsp中中包含b.jsp  --%>
        <%--
                 1.这是静态包含
                 2.b.jsp的页面内容相当于粘贴在这里了
                 3.只有生成一个Java源文件
                 4.语法:
                    <%@ include file="relativeURL"%>
                    其中的file属性用于指定被引入文件的相对路径,file属性的设置值必须使用相对路径,
                    如果以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),
                    否则,表示相对于当前文件。
        --%>
        <%@ include file="b.jspf" %>            
        
        <h1>我是a.jsp</h1>
    </body>
</html>

b.jspf

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<h1>B Page</h1>
<% 
            System.out.println("我是b.jspf");
%>
微信公众号:JavaWeb架构师

其它

关注下方公众号,回复:javaweb_course.code
完整教程PDF版本下载
上一篇 下一篇

猜你喜欢

热点阅读