JSP语法及page include taglib三大指令

一、JSP基本语法

1)JSP模版元素

    JSP中的<html>静态的标签,遵循的是html语法规则!

 

2)JSP表达式:其结果会显示在页面中

    语法:<%="变量/常量"%>,字符串用" "号定界,无需分号结束,

    类似于Servlet中resposne.getWriter().println("哈哈"); 

 

3)JSP中Java脚本片断

    语法:<%一行、多行Java代码,以分号结束%>

    生成的源码位于_jspService()方法中,多个JSP脚本片段可以相互访问,可以和html部分相互嵌套使用。

 

4)JSP声明属性或者方法

    语法:<%! 声明实例变量或普通方法%>

 

5)JSP注释

    语法:<%-- JSP特有的注释 --%>

    JSP引擎不会将其翻译成Servlet源码,即忽略,这种注释浏览器端看不到

    其它注释会被翻译进Sercvlet源码,这种注释浏览器端看得到,并且可以在里边写jsp脚本代码。

    如:<!-- 该注释会显示在页面源码上 -->

 

二、JSP中的三大指令

    JSP三大指令:page指令、include指令、taglib指令

1、page指令

用于设定整个JSP页面的属性和相关功能,page指令共有11个属性:

 

1)contentType属性和pageEncoding属性:

contentType属性指定JSP页面的MIME(是一个网络标准)和编码格式

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

pageEncoding属性用来指定JSP文件保存时选择的编码格式

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

 

2)import:在JSP中引入Java的包和类,多个包之间以逗号隔开

<%@ page import=" java.util.Date" %>

 

3)session:指定当前页面是否能获得当前用户的session对象,缺省是true,如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误。

<%@page session="true"%> 使用默认值,基本不用。

 

4)errorPage:如果当前页面发生异常,会重定向到errorPage所指定的页面进行处理

<%@ page errorPage="error.jsp" isErrorPage="false" %>  当前页面发生异常,并且没有对异常进行捕获的时候,跳转到error.jsp页面,不指定errorPage的话,画面上直接显示异常的相关信息

 

5)isErrorPage:允许指定的JSP页面为错误处理页面,配合exception,可以获取错误信息输出到jsp页面上。

 

6)language属性,指定页面中使用的脚本语言种类,目前只支持java

<%@ page language="java"%>

 

7)extends属性,用于指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名

<%@ page extends="cn.jq.myservlet"%>,基本不用

 

8)buffer属性和autoFlush属性

buffer属性用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能,即减少write的次数。

autoFlush属性用来指定当输出流缓冲区满了时,是否自动刷新缓冲区,若为true,自动把缓冲区的内容输出到底层输出流,若为false,缓冲区满时,会抛出IO异常。基本不用

9)isThreadSafe属性,缺省值为true,指定该JSP文件是否支持多线程访问

<%@ page isThreadSafe="true"%>  此时,多个线程共用同一个servlet实例

<%@ page isThreadSafe="false"%> 此时,每个线程都有一个自己的servlet实例,比较消耗内存资源,所以不建议使用。基本不用

 

10)info属性,用来设置该jsp文件的介绍信息

<%@page info="This is a jsp page."%> 基本不用

 

11)isELIgnored属性,用来表示是否支持EL表达式

<%@page isELIgnored="true"%> 不支持EL表达式,EL表达式会被当做普通的html文本

<%@page isELIgnored="false"%> 支持EL表达式

 

2、include指令

静态包含:表示在JSP编译时插入一个包含文件或者代码的文件,是一种静态包含,静态包含(统一编译):<%@ include file="included.jsp"%>,file属性的值是相对地址。多个jsp文件会合并起来生成一个jsp_servlet文件。

动态包含:动态include(<jsp: include page="head.jsp"/>)

 

1)动态include的jsp文件独立性很强,是一个单独的jsp文件,多个jsp文件各自生成一个jsp_servlet文件。

2)动态包含总是检查被包含页面的变化,静态包含不一定检查被包含页面的变化.

3)动态包含可带参数,静态包含不能带参数.如:

扩展一下jsp标签,除了 <jsp: include以外,还有<jsp:forward page="path">转发。

 

3、taglib指令

声明JSP文件使用的标签库(JSP标准标签库,第三方标签库,自定义标签库)

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 声明使用JSTL的核心标签库taglib指令让用户能够自定义标签,

知识点整理

猜你喜欢

转载自blog.csdn.net/qq_42402854/article/details/85040419
今日推荐