几个典型的JSP指令及各个指令的含义(2)
默认值依赖于web.xml的版本。servlet2.3之前默认true,servlet2.4默认false。
用于JSP版本不一致造成使用EL表达式出现的问题。使用:isELlgnored="true";
5,buffer和autoFlush属性:
buffer属性指定out对象(JspWriter)使用的缓冲区大小,以kb为单位,默认8kb。
none表示不使用缓冲区。这样要求设置报头或状态代码的jsp元素要出现在文件的顶部,任何HTML内容之前。
autoFlush属性控制当缓冲区满了后,是自动清空输出缓冲区(默认true),还是在缓冲区溢出后抛出异常(false)。
在buffer=none的时候,autoFlush=false是错误的。
6,info属性:
定义一个可以在servlet中通过getServletInfo方法获取的字符串。
jsp容器做的是在servlet中生成getServletInfo方法返回info属性指定的String。
7,errorPage和isErrorPage属性:指定页面专用的错误页面。
errorPage属性用来指定一个jsp页面,由该页面来处理当前页面中抛出但没有捕获的任何异常。指定的页面可以通过exception变量访问异常信息。
isErrorPage属性表示当前页是否可以作为其他jsp页面的错误页面。true或false。
错误页面应该放在WEB-INF目录下面,只让服务器访问,也不会生成转发的调用,客户端只能看到最初的请求页面URL,看不到错误页面的URL。
如果为整个web应用程序指定错误页面,或为应用中不同类型的错误指定错误处理页面,使用web.xml中的error-page元素。
如果一个页面通过该属性定义了专有的错误页面,那么在web.XML文件中定义的任何错误页面不会被使用。
只能够在错误处理页面中使用错误对象exception。
8,isThreadSafe属性:采用显式的同步来代替该方法。
控制由jsp页面生成的servlet是否允许并发访问(默认true允许)。
这种阻止并发访问的实现是基于SingleThreadModel接口。所以,避免使用isThreadSafe属性。
9,extends属性:避免使用。这是服务器提供商该做的事情。父类必须是对HttJspPage接口的实现类。而HttJspPage是应用于HTTP协议的请求和响应的JspPage扩展接口。
指定JSP页面生成的servlet的超类。
三,include指令:在页面转换期间将文件包含到jsp页面。
include指令用于在jsp页面中静态包含一个文件,该文件可以是jsp页面,html页面,文本文件或一段Java代码。
在主页面“转换为servlet前”将jsp代码插入。被包含的页面发生更改的时候,主页面也要更新(转译)。
对于文件包含,使用jsp:include。仅在所包含的文件中定义了主页面需要的字段和方法,或者所包含的文件设置了主页面的响应报头时,才使用include指令。
1,include语法:
<%@ include file="url"%>
file的属性值被解释为相对于当前jsp文件的URL.
2,在被包含的文件中不要使用和主页重复的HTML标签。这样会影响原jsp文件中同样的标签导致错误。
因为原文件和被包含文件可以互相访问彼此定义的变量和方法,所以要避免变量和方法在命名上的问题。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>