您的位置:首页 > Web前端 > JavaScript

关于JSP---三大指令

2016-12-09 20:23 288 查看
  JSP三大指令:

  page ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等

  include-------->静态包含,一般在一个网站不同网页上把相同的元素单独写在一个jsp中,其他页面直接用该命令导入,能大大减少重复代码提高访问速度

  taglib --------->一般用于导入标签库,比如jsp的jstl标签库,使用之前必须有此标签.

  JSP指令格式:

 <%@page language="java"  pageEncoding="utf-8"%>


 以page指令为例,其他标签类同,可以写任意多个属性,甚至不写,习惯性放在jsp页面最上方,但是并不是必须写在页头,可以写在jsp页面任意位置.

  page常用属性:

pageEncoding:  指定当前jsp页面的编码,在服务器(如tomcat)要把jsp编译成.java时需要使用pageEncoding

contentType: 添加一个响应头,比如contentType="text/html;charset=utf-8"

         注意:如果这两个标签只设置了一个,另一个默认成已设置的那个,如果都没设置,默认编码是iso,

          3.import: 用于导包,如import="java.util.*";可以出现多个import.

          4.errorPage: 设置出错时候的跳转页面,如errorPage="error.jsp"如果当前页面出现异常,就转发到error.jsp,注意是转发,地址栏不会有变化.

          这里拓展一下,web.xml配置错误页面的知识,如果我们希望当出现比如404错误时,页面能够跳转到我们自定义的jsp上去,应该这样配置,在web.xml中添加:

<error-page>
  <error-code>404</error-code>
  <location>/myError404.jsp</location>
</error-page>


 page中还有许多属性,比如language,info,并没有什么用处,至于其他的我貌似见都没见过了,不再赘述.

include指令: 静态包含,把另一个页面包含在当前页面中

一个页面包含另一个页面,将两个页面合二为一,在什么时间合二为一的?页面进行转换Servlet的时候将两者合二为一的。
这种方式有长处也有短处,第一点:虽然访问两个资源文件,但是只会生成一个Servlet,称作静态包含(只会生成一个Servlet,因为转换的时候把其他网页的信息加载进来了)。第二点:如果是Tomcat5.0,被包含页面发生改变,包含页面体现不出来。JavaEE的版本是随着jsp版本和Servlet版本变化的,Tomcat版本越高,支持的Jsp和Servlet版本越高。Tomcat5.0以前被包含页面发生改变,包含页面体现不出来。//理解
所以在以前include指令一般不用,但是现在Tomcat6.0用,Tomcat6.0支持include指令。第三点:包含页面可以访问被包含页面中的变量。在被包含页面中声明的变量在包含中页面中是可以使用的。第四点:包含页面无法向被包含页面传参。需要大量复用的东西需要专门生成一个页面进行处理。

< %@ include file=”/b.jsp” %>


它是在jsp编译成java文件时完成的,他们共同生成一个Java文件,一个.class文件, 引入的页面与当前页面融为一体,因为是编译时期就和合并,所以 file的内容不能够是变量.

   在jsp中有一个动作标签也是include,它指的是动态导入,在页面请求时才合并,page的内容可以是变量.

<jsp:include page=”/b.jsp” flush=”true” />


taglib: 导入标签库

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


prefix: 指定标签库在当前页面中的前缀,由我们自定义即可.

uri: 指定标签库的位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: