JSP--指令

             JSP指令

  1. JSP指令:JSP指令是为JSP引擎设计的。他们并不直接产生可见输出,而只是告诉引擎如何处理JSP页面的其余部分

 

 

 

  1. 在目前的JSP2.0中定义了page,include和taglib这三种指令

 

 

  1. page指令:

  1).page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面的什么地方,他的作用的都是整个JSP页面,为了保持程序的可读性和良好的编程习惯,page指令最好是放在整个JSP页面的起始位置

 

 2).page指令常用的属性:

 ①.import属性:指定当前JSP页面对应的Servlet需要导入的类

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

 ②.session属性:取值为true或false,指定当前页面的session隐藏对象是否可用

   <%@page session="false" %>

 ③.errorPage 和 isErrorPage

>errorPage 指定当前页面出现错误的实际响应页面是什么,其中“/”表示当前的WEB应用

<%@page errorPage="/error.jsp" %>

>在响应error.jsp时,JSP引擎使用的是请求转发的方式

>isErrorPage 指定当前页面是否为错误处理页面,可以说明当前也i按是否使用exception隐藏变量,需要注意的是isErrorPage = true的页面,一般不建议之间访问,

>如何使客户不能直接访问一个页面呢?对于Tomcat服务器而言,WEB-INF目录下的文件使不能直接通过浏览器来访问的,但是可以通过请求的转发是可以的。

>还可以在web.xml中配置错误页面

  

  <error-page>

    <!-- 指定出错的代码:404没用指定的资源,500内部错误 -->

   <error-code>500</error-code>

     <!-- 指定响应页面的位置 -->

   <location>/WEB-INF/error.jsp</location>

  </error-page>

  

   <error-page>

    <!-- 指定异常的类型 -->

   <exception-type>java.lang.ArithmeticException</exception-type>

   <location>/WEB-INF/error.jsp</location>

  </error-page>

④.contentType:指定当前JSP页面的响应类型,实际调用的是response.setContentType("text/html; charset=UTF-8");通常情况下,对JSP页面而言其值均为text/html;charset=UTF-8

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

⑤.pageEncoding:指定当前JSP页面的字符编码。通常情况下该值和contentType中的charsrt一致

⑥.isELIgnored:指定当前JSP页面是否可以使用EL表达式,通常取值为false

 

  1. include指令:

 1).include指令用于通知jsp在翻译当前JSP页面时将其他文件的内容合并进当前JSP页面转换成的Servlet源文件中,这种源文件级别进行的引入方式称之为静态引入,当前JSP页面与静态引入的页面精密结合为一个Servlet

 2).file属性的设置的值必须使用相对路径,如果以“/”开头。表示相当于当前WEB应用程序的根目录。否则。表示当前文件

     <%@include file = "b.jsp" %>

  1. jsp:include标签

 1).<jsp:include page = “b.jsp”></jsp:include>

 2).动态引入:并不是像include指令生成一个servlet源文件,而是生成两个Servlet源文件,然后通过一个方法把整个页面包含进来

  1. include指令和jsp:include标签

 1).<jsp:include>标签时当前jsp页面执行期间插入被引入资源的输出类容,被动态引入的资源必须时一个能独立被WEB容器调用和执行的资源

  Include指令只能引入遵循JSP格式的文件,被引入文件与当前JSP文件共同合并被翻译成一个Servlet的源文件

  1. jsp:forward:

   <jsp:forward page="/include/b.jsp"></jsp:forward> 相当于

<%

   request.getRequestDispatcher("b.jsp").forward(request, response);

   %>

 

但使用jsp:forward可以使用jsp:param子标签向b.jsp传入一些参数。同样jsp:include也可以使用jsp:param子标签

 <jsp:forward page="/include/b.jsp">

    <jsp:param value="stupid" name="username"/>

   </jsp:forward>

 

  <jsp:include page="/include/b.jsp">

     <jsp:param value="stupid" name="username"/>

   </jsp:include>

在b.jsp页面中可以通过request.getParameter(“username”);来获取传入的请求参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值