jsp基础知识2(jsp指令)

 1 .Jsp指令的基本语法

         <%@指令属性名="" %>

         eg<%@ pagecontentType="text/html;charset=gb2312"%>

如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。

         例如:

                   <%@page contentType="text/html;charset=gb2312"%>

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

         也可以写作:

         <%@page contentType="text/html;charset=gb2312"import="java.util.Date"%>

 

Page指令:用于定义jsp页面的各种属性。Page指令最好放置在整个jsp页面的起始位置。

2.

Jsp2.0 定义的规范的page指令的完整语法

session默认值为truesession是服务器端的   

 

buffer是对out的隐式对象的缓冲区的大小,默认为8kb.   

isThreadSafe是线程安全,默认为true

jsp servlet的线程安全已经考虑了!当为false时,实现singleThreadModel接口   

 

errorPage跳转到错误页面    

 

isErrorPage:当前页面是否是错误页面

<%@ page

         [ language="java"]

         [ extends="package.class"]

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

         [ session="true| false" ]

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

         [ autoFlush="true| false" ]

         [ isThreadSafe="true| false" ] //线程安全,当isThreadSafe=false  会实现SingThreadModel

         [ info="text"]

         [ errorPage="relative_url"] //errorPage属性设置必须使用相对路径

                                                                                    <web.xml>中有标签<errorpage>

<exception-type>

<location></location>

</ecception-type>

如果在web.xmljsp出现同种   jsp中的<errorpage></errorpage>标签起作用

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

</errorpage>

         [ isErrorPage="true| false" ]

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

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

         [ isELIgnored="true| false" ] //当前页面是否为错误页面。默认的是false

 

3

以在一条page指令的import属性中引入多个类或包,其中的每个包或类之间使用逗号分隔:

                   <%@ pageimport="java.util.Date,java.sql.*,java.io.*"%>

上面的语句也可以改写为使用多条page指令的import属性来分别引入各个包或类:

                   <%@ pageimport="java.util.Date"%>

                   <%@ pageimport="java.sql.*"%>

                   <%@ pageimport="java.io.*"%>

 

JSP引擎会根据page指令的contentType属性生成相应的调用ServletResponse.setContentType方法的语句。

page指令的contentType属性还具有说明JSP源文件的字符编码的作用。

 

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

 

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

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

5 jsp引擎自动倒入下面的包

         Java.lang.*

         Javax.servlet.*

Javax.servlet.jsp.*

Javax.servlet.http.*

 

 

二:include指令

include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。

语法:

         <%@include file="relativeURL"%>

         其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。

细节:

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

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

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

Taglib指令用于在JSP页面中导入标签库,讲自定义标签技术时讲。

Request.getRequestDispather是动态包含。

 

l  jsp就打印时对象request

l  response

l  config

l  application

l  exception

l  Session

l  page

l  out

l  pageContext

 

你可能感兴趣的:(jsp基础知识2(jsp指令))