• JSP指令、动作和对象


     

    JSP基本指令

    jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出,而只是告诉引擎如何处理其余JSP页面。其一般语法形式为: <%@ 指令名称 属性=“值”%>

    三种命令指令分别是page、include、taglib。

    一、page指令

    功能:设定整个JSP网页的静态属性。

    语法:<%@ page 标签元素=“值”%>,比如 <%@ page language=“java”%>

    标签元素:language、import、contentType、session、errorPage、isErrorPage等等。

    1、language

    language="language" 指定JSP Container要用什么语言来编译JSP网页。目前只可以使用Java语言,不过不排除增加其它语言。默认值为Java。比如 <%@ page language=“java”%>

    2、import

    import="importList" 定义此JSP页面可以使用哪些Java API。用逗号分隔列出一个或多个全质类名。此列表用于在生成的java servlet中创建相应的导入语句。以下包是自动包含的,不必被指出:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.* 比如<%@ page import="java.util.*"%>

    3、contentType

    contentType="ctinfo" 表示将在生成servlet中使用的MIME类型和可选字符解码。比如<%@ page contentType="text/html;charset=GBK"%>

    4、session

    session="true|false" 指明JSP页面是否需要一个HTTP会话,如果为true,那么产生的servlet将包含创建一个HTTP会话(或访问一个HTTP会话)的代码,缺省为true。

    5、errorPage

    errorPage="error_url" 表示如果发生异常错误,网页会被重新指向一个URL页面。错误页面必须在其page指令元素中指定isErrorPage="true"

    6、isErrorPage

    isErrorPage="true|false" 如果此页面被用作处理异常错误的页面,则为true。在这种情况下,页面可被指定为另一页面page指令元素中errorPage属性的取值。指定此属性为true将使exception隐含变量对此页面可用。缺省值为false。  

    ×××××实例1,显示当前系统设计××××

    1、在记事本中输入如下代码:

    <%@ page language="java" contentType="text/html;charset=GBK"%>

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

    <%

    Date dnow = new Date();

    int dhours = dnow.getHours();

    int dminutes = dnow.getMinutes();

    int dseconds = dnow.getSeconds();

    out.print("服务器时间:" + dhours + ":" + dminutes + ":" + dseconds);

    %>

    <SCRIPT LANGUAGE="JavaScript">

    var dnow = new Date();

    dhours = dnow.getHours();

    dminutes = dnow.getMinutes();

    dseconds = dnow.getSeconds();

    document.write("<br>浏览器时间:" + dhours + ":" + dminutes + ":" + dseconds);

    </SCRIPT>

    2、保存为page.jsp,在tomcat安装目录的webapps目录下新建02文件夹,再在02下新建1文件夹,

    把page.jsp放在1文件夹下。

    3、在记事本中输入如下代码:

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-

    app_2_4.xsd">

    </web-app>

    4、保存为web.xml,在02文件夹下新建WEB-INF文件夹,把web.xml放在WEB-INF文件夹下。

    5、在浏览器中输入输入http://localhost:8989/02/1/page.jsp就可以打开page.jsp页面了。

    6、<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>这段代码,是前台脚本代码,用来比较前、后台代码的

    不需要、需要引擎编译的运行情况。其实可以删掉<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>这段代码的。

     

    二、include指令

    功能:include指令用来向当前页面插入一个静态文件的内容。这个文件可以是JSP、HTML、文本或是Java程序。

    语法:<%@ include file=“filename” %> 比如 <%@ include file=“111.txt” %>

    标签元素:file

    注意:include指令元素和行为元素主要有两个方面的不同点。

    1.include指令是静态包含,执行时间是在编译阶段执行,引入的内容为静态文要,在编译成servlet时就和包含者融合到一起。所以file不能是一个变量,也不能在file后接任何参数。

    2.include行为是动态包含,执行时间是在请求阶段执行,引入的内容在执行页面时被请求时动态生成再包含到页面中。

    3、<%@ include file=“filename” %>如果直接以文件名开头,指的是正在使用的JSP文件所在的路径,

    如果以/开头,指的是正在使用的JSP文件上下的路径关系.

    ×××××实例2,静态包含外部资源文件××××

    1、在111.txt输入如下代码:

    include file start here.<br>

    <%! String str="Here is include's context!";%>

    <% out.println(str+"<br>");%>

    其实在111.txt输入如下代码,显示的效果是一样的,但是中文会出现乱码

    include file start here.<br>

    Here is include's context!<br>

    2、把111.txt保存在webapps22目录下。

    3、编写native.jsp文件

    <html>

    <body>

    native file start here.<br>

    <%@ include file="111.txt"%>

    native file end here.<br>

    </body>

    </html>

    4、把native.jsp保存在webapps22目录下。

    在浏览器中输入输入http://localhost:8989/02/2/native.jsp就可以了

     

    三、taglib指令

    功能:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。

    当页面引用了用户自定义标签时,taglib指令用于引用自定义标签库,并指定标签的前缀。

    语法:<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

    如<%@ taglib uri="http://www.jspcentral.com/tags" prefix="JAXP" %>

    标签元素:uri、Prefixpage指令元素的属性

    uri="tagLibraryURI" 标签库描述器的URI,主要是说是tagLibrary的存放位置。

    prefix="tagPrefix" 用于标识在页面后面部分使用定制标签的唯一前缀。

    前缀在标签的名字前面使用,例如,在中public在loop前面。空的前缀将被忽略。如果你正在开发或使用自定义的标签的话,你不能使用标签前缀:jsp,jspx,java,javax,servlet,sun和sunw等,因为他们已经被Sun的系统的所使用。

     

    JSP基本动作

    JSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。
        1.include动作
        <jsp:include>标签用来包含一个静态或者动态的文件。
        2.forward动作
        <jsp:forward>标签用来重定向一个静态HTML文件、JSP文件或者是一个程序段。
        3.useBean动作
        <jsp:useBean>标签用来在JSP页面中创建一个Bean实例,并指定其名称和作用范围。
        4.getProperty动作
        <jsp:getProperty>标签用来获取Bean的属性值(在此之前必须用<jsp:useBean>创建它),并将之转化为一个字符串,然后将其插入到输出的页面中。
        5.setProperty动作
        <jsp:setProperty>标签表示用来设置Bean中的属性值。
        6.plugin动作
        <jsp:plugin> 标签用于在浏览器中播放或显示一个对象(典型为applet和Bean),这种显示需要在浏览器上安装Java插件。当JSP文件被编译后送往浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素。
        7.param动作
        <jsp:param>标签用来传递参数,必须与forward、include及plugin动作配合使用。

     

    JSP内置对象

    1.application:javax.servlet.ServletContext 的实例,代表JSp所属的web应用本身,可用于页面之间交换信息 ;

    2.config:javax.servlet.ServletConfig 的实例,代表JSP的配置信息,常用的方法有 getInitParameter(String paramName)  getInitParameternames() ;

    3.exception:java.lang.Throwable 的实例,代表其他页面中的异常和错误,只用当页面时错误处理页面,即page的 isErrorPage=true 时,该对象才可以使用,方法getMessage(),printStackTrace() ;

    4.out:javax.servlet.jsp.JspWriter 的实例,该实例代表jsp的页面输出流,用于输出内容 ;

    5.page:代表页面本身,也就是servlet中的this,一般不用 ;

    6.pageContext:javax.servlet.jsp.PageContext的实例,该对象代表该jsp的上下文,使用该对象可以访问页面中的共享数据,常用方法:getServletContext() getServletConfig() ;

    7.request:javax.servlet.http.HttpServletRequest 的实例,封装了一次请求 ;

    8.response:javax.servlet.http.HttpServletResponse的实例,封装了一次响应 ;

    9.session:javax.servlet.http.HttpSession 的实例,代表一次会话 ;

     

  • 相关阅读:
    【服务器数据恢复】StorNext文件系统数据恢复案例
    【数据库数据恢复】ASM磁盘组掉线,ASM实例不能mount的Oracle数据库数据恢复案例
    【服务器数据恢复】硬盘坏道和不稳定扇区导致服务运行过程中器崩溃的数据恢复案例
    【服务器数据恢复】重装系统导致XFS文件系统分区无法访问的数据恢复
    家中电脑的Vscode配置
    编码 乱码 解析 识别
    重构代码架构使具有良好扩展性
    第二单元总结性博客作业
    C语言实现顺序栈
    OpenGL 学习,入门程序
  • 原文地址:https://www.cnblogs.com/FZ1314/p/5914756.html
Copyright © 2020-2023  润新知