zoukankan      html  css  js  c++  java
  • JSP指令标签、动作标签

    JSP有三大指令:

      * page指令
      * include指令
      * taglib指令
       在JSP中没有任何指令是必须的!!!

       但基本上每个JSP都是使用page指令! 


    page指令

    page指令是最为常用的指令!

    1. page指令的常用属性:

    * import:等同与import语句

      --> <%@ page import="Java.util.*" %>

      --> <%@ page import="java.util.*, java.NET.*" %>

      --> 在一个JSP页面中可以给出多个page指令,而且import是可以重复出现的

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

       <%@ page import="java.next.*" %>


    * pageEncoding:指定当前页面的编码

      --> 如果pageEncoding没有指定,那么默认为contentType的值;

      --> 如果pageEncoding和contentType都没有指定,那么默认值为iso-8859-1
      
    * contentType:等同与调用response.setContentType("text/html;charset=xxx");

      --> 如果没有指定contentType属性,那么默认为pageEncoding的值;

      --> 如果contentType和pageEncoding都没有指定,那么默认值为iso-8859-1


    * errorPage:如果当前页面出现异常,那么跳转到errorPage指定的jsp页面。例如:<%@ page errorPage="a.jsp" %>

    * isErrorPage:上面示例中指定a.jsp为错误页面,但在a.jsp中不能使用内置对象exception,保有a.jsp中使用

    <%@page isErrorPage="true"%>时,才能在a.jsp中使用错误页面。


    * autoFlush:当autoFlush为true时,表示out流缓冲区满时会自动刷新。默认为true

    * buffer:指定out流的缓冲区大小,默认为8KB

    * isELIgnored:当前JSP页面是否忽略EL表达式,默认为false,表示不忽略,即支持EL表达式


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

    * language:当前JSP编译后的语言!默认为java,当前也只能选择java

    * info:当前JSP的说明信息

    * isThreadSafe:当前JSP是否执行只能单线程访问,默认为false,表示支持并发访问

    * session:当前页面是否可以使用session,默认为false,表示支持session的使用。



    include指令

    语法:<%@include file="页面"%>

    include指令的作用是包含指定的页面!在jsp被编译成java文件之前会把两个jsp文件合并,然后再编译成一个java文件。

    注意:

    <%@include file="<%=myfile%>" %>

    这是不能通过编译的,因为myfile是一个变量,它的值只有在java编译成class后执行时才能确定。

    而include指令需要在jsp编译java时就要确定包含的是哪个页面,所以...



    taglib指令

    taglib指令是用来在当前jsp页面中导入第三方的标签库

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


    prefix:指定标签前缀,这个东西可以随意起名

    uri:指定第三方标签库的uri(唯一标识)

    当然,需要先把第三方标签库所需jar包放到类路径中。



    JSP动作标签


    JSP动作标签是用来替代一部分java脚本,使非java开发人员也可以向jsp中添加动态信息

    <jsp:include>

    例如:<jsp:include page="xxx"/>,用来包含指定的页面。
    例如在a.jsp中存在如下内容:<jsp:include page="b.jsp"/>
    a.jsp和b.jsp分别编码成Servlet,然后在执行Servlet时才会执行包含过程。这也是include指令与include标签的区别。

    注意:<jsp:include page="<%=myfile%>">,这是可以的!因为include指令是在执行时才完成的包含,

    在执行时已经可以确定myfile这个变量的值。

    该标签内部使用的是RequestDispatcher#include()方法完成的包含


    <jsp:forward>
    例如:<jsp:forward page="xxx"/>,用来转发到指定页面
    例如在a.jsp中存在如下内容:<jsp:fowrad page="b.jsp"/>
    a.jsp中的内容不会显示在浏览器上,而只是显示b.jsp的内容。而且在<jsp:forwad>标签下面的内容不会被执行。


    <jsp:param>

    该标签是<jsp:include>和<jsp:forward>的子标签,用来向其他页面传递参数。
    <jsp:include page="/b.jsp">
    <jsp:param value="zhangSan" name="username"/> 
    </jsp:include>
    在b.jsp中可以使用request.getParameter("username")来获取参数值。

    转自这里

  • 相关阅读:
    vue—子调父 $emit (把子组件的数据传给父组件)
    解决 Error: EBUSY: resource busy or locked, rmdir 'E:/...'问题
    php中session原理及安全性问题
    MySQL函数大全及用法示例
    php基础语法
    常用sql语句
    php表单传值--GET和POST
    jQuery插件的使用方法
    $.ajax()方法详解
    php文件上传
  • 原文地址:https://www.cnblogs.com/angelye/p/7480005.html
Copyright © 2011-2022 走看看