zoukankan      html  css  js  c++  java
  • 关于JSP---三大指令

    •   JSP三大指令:
      1.   page    ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等
      2.   include-------->静态包含,一般在一个网站不同网页上把相同的元素单独写在一个jsp中,其他页面直接用该命令导入,能大大减少重复代码提高访问速度
      3.   taglib --------->一般用于导入标签库,比如jsp的jstl标签库,使用之前必须有此标签.
    •   JSP指令格式:
     <%@page language="java"  pageEncoding="utf-8"%>

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

    •   page常用属性:
        1. pageEncoding:  指定当前jsp页面的编码,在服务器(如tomcat)要把jsp编译成.java时需要使用pageEncoding
        2. 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" %>
    1. prefix: 指定标签库在当前页面中的前缀,由我们自定义即可.
    2. uri:    指定标签库的位置
  • 相关阅读:
    【尺取】HDU Problem Killer
    【尺取或dp】codeforces C. An impassioned circulation of affection
    【搜索】codeforces C. The Tag Game
    【数学】codeforces B. The Golden Age
    【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring
    【贪心】codeforces D. Minimum number of steps
    【数学】codeforces A. Success Rate
    【二分+交互】codeforces B. Glad to see you!
    【组合 数学】codeforces C. Do you want a date?
    JavaScript实现快速排序
  • 原文地址:https://www.cnblogs.com/ckwblogs/p/6151409.html
Copyright © 2011-2022 走看看