美文网首页
NO.2 JSP(三个指令的概述和使用)

NO.2 JSP(三个指令的概述和使用)

作者: WXFA | 来源:发表于2017-11-29 21:22 被阅读0次

JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。在JSP 2.0规范中共定义了三个指令:

① page指令:定义JSP页面的各种属性和解决中文乱码问题

② Include指令:用于引入其它JSP页面

③ taglib指令:在JSP页面中导入JSTL标签库,替换jsp中的java代码片段。

语法(多个指令用空格隔开):<%@  指令名称  属性1= "属性值 1"   属性2="属性值 2"。。。。。%>

        或者:<%@ 指令名称  属性值1 = "属性值 1"  %>

                    <%@ 指令名称  属性值2 ="属性 2" %>

如:<%@ page language="java"  import="java.util.*"  pageEncoding="UTF-8"%>

        <%@ page language="java"  %>

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

Page指令:

用于定义JSP页面的各种属性,最好放在JSP页面的起始位置,作用于整个JSP页面

JSP2.0规范中定义page指令的完澡语法。

        ① [ language="java"]:告诉服务器jsp引擎支持Java语言

        ② [ extends="package.class"]:默认继承,建议不要改动

        ③ [ import="{package.class | package.*},。。。"]:导包,多个包用逗号隔开

        ④ [ session="true | false"] :session的开关语句,true就创建session对象

        ⑤ [ buff="none | 8kb | sizekb"] :缓冲区数据,建议也不要修改

        ⑥ [ autoFlush="true | false"] :刷新功能,默认自动刷新

        ⑦ [ isThreadSafe="true | false"] :false才实现SingleThreadMode1接口。(servlet规范中,处理线程安全问题,每次实现都创建一个servlet实例,不过已经过时了,现在是把全局变量放到局部变量就ok了)

        ⑧ [ errorPage="relative_url"] :报错误信息,跳转的网页地址

        ⑨ [ isErrorPage="true | false"]:默认是false,是否创建throwable对象(不创建)

        ⑩ [ contentType="mimeType"[ charset=characterSet] |"text/html";charset="ISO-8859-1"]:    contenType等同于response.setContentType("text/html","charset="UTF-8")

            11、 [ isELlgnored] :是否支持EL表达式,默认是false,${ 1 + 1 } 结果输出为2 。改为true,结果会输出为${ 1 + 1 },输出为${ 1 + 1 }

使用page指令解决JSP中文乱码

JSP程序存在有与Servlet程序完全相同的中文乱码问题

     ①   输出响应正文时出现的中文乱码问题

      ②  读取浏览器传递的参数信息时出现的中文乱码问题

JSP引擎将JSP页面翻译成Servlet源文件时也可能导致中文乱码问题

        ①  JSP引擎将JSP源文件翻译成的Servlet源文件默认采用ISO8859-1编码,而JSP开发人员可以采用各种字符集编码来编写JSP源文件,因此,JSP引擎将JSP源文件翻译成Servlet源文件时,需要进行字符编码转换。

        ② 如果JSP文件中没有说明它采用的字符集编码,JSP引擎将把它当作默认的ISO8859-1字符集编码处理。

如何解决JSP引擎翻译JSP页面时的中文乱码问题

        ① 通过page指令的contentType属性说明JSP源文件的字符集编码

        ② page指令的pageEncoding属性说明JSP源文件的字符集编码

include指令:

语法:

            <%@ include file=“被包含组件的绝对URL或相对URL"%>其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。

细节:

① 被引入的文件必须遵循JSP语法。

② 被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。

③ 由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(除了pageEncoding和导包除外)。

taglib指令:

语法:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

相关文章

  • NO.2 JSP(三个指令的概述和使用)

    JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP...

  • Jsp

    JSP脚本和运行原理 JSP指令 JSP内置/隐式对象 JSP 标签 EL表达式和JSTL标签库使用

  • 《Head First Servelet & JPS》笔记

    作为JSP 使用page指令导入包 指令有3种:page、include和taglib。 3种不同类型的JSP元素...

  • JSP入门及语法

    一、JSP概述 二、JSP的语法 三、JSP的指令:给JSP引擎用的(服务器用的) 四、JSP的内置对象(9个JS...

  • 【Java】【JSP】Jsp语法

    jsp 脚本 jsp 指令jsp指令并不产生任何可见的输出,而只是告诉引擎如何处理jsp中的其余部分 使用js...

  • jsp指令和动作

    include指令 include动作 include指令和动作的区别 动作

  • jsp

    jsp介绍 jsp语法 jsp指令 EL表达式 自定义标签 jsp指令 - page jsp指令 - includ...

  • 4、jsp标签

    1、jsp组成 2、注释 3、jsp指令 JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。...

  • JSP页面构成之JSP指令

    JSP总有三大指令,分别是page、include、taglib指令 (一)page指令 三个属性:languag...

  • Web 基础14 JSP入门 语法

    1.1 JSP简介 1.1.1 JSP概述 JSP概述全称是Java Server Pages,他和Servlet...

网友评论

      本文标题:NO.2 JSP(三个指令的概述和使用)

      本文链接:https://www.haomeiwen.com/subject/gvejbxtx.html