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保存在webapps\02\2目录下。

3、编写native.jsp文件

<html>

<body>

native file start here.<br>

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

native file end here.<br>

</body>

</html>

4、把native.jsp保存在webapps\02\2目录下。

在浏览器中输入输入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. JSP三大指令、七大动作、九大对象

    <%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...

  2. JSP常见指令

    JSP常见指令 标签: jspincludeservletjavaappletarchive 2011-11-07 20:07 13193人阅读 评论(3) 收藏 举报 版权声明:本文为博主原创文章, ...

  3. JSP三大指令

    JSP三大指令1.page-->最复杂,<%@page language = "java" info = "xxx" ..%>  *pageE ...

  4. Java学习-035-JavaWeb_004 -- JSP include 指令

    inclue 指令是将不同的文件插入到 JSP 网页中,这些文件可以是文本文件.HTML文件.JSP 文件,指令语法如下: <%@include file="相对路径"%&g ...

  5. Java学习-034-JavaWeb_003 -- JSP page 指令

    前文对 JSP 的基础知识进行了初步的讲解,此文主要讲述 JSP page 指令. page 指令用于定义页面的多种属性,例如:脚本语言.编码方式.导入的 Java 包等,page 执行的语法如下: ...

  6. jsp常用指令

    Jsp包含三个编译指令和七个动作指令. 三个编译指令为:page.include.taglib. 七个动作指令为:jsp:forward.jsp:param.jsp:include.jsp:plugi ...

  7. JavaWeb笔记——Jsp的指令、内置对象和动作标签

    JSP三大指令   一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info=" ...

  8. jsp 三大指令和动作标签

    jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...

  9. JSP page指令

    JSP page指令: JSP文件: <%@ page language="java"%> <%@ page import="java.util.*&q ...

  10. jsp jsp常用指令

    jsp指令是为jsp引擎设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分. jsp中的指令 page指令 include指令 taglib指令 jsp指令的基本语法 ...

随机推荐

  1. netty源代码编译_mac os

    工作中会用到netty,有随手整理笔记的习惯,故学习整理下,之前看过了理论知识,接下来就看下源码了,先来编译下 个人 fork git:https://github.com/ending06/nett ...

  2. mysql随机查询符合条件的几条记录

    随机查询,方法可以有很多种.比如,查询出所有记录,然后随机从列表中取n条记录.使用程序便可实现.可是程序实现必须查询出所有符合条件的记录(至少是所有符合条件的记录id),然后再随机取出n个id,查询数 ...

  3. 为什么要学习 UML?

    UML 的首要价值是沟通和理解.好的图形可以帮助沟通设计思想,尤其是要回避许多细节时,图形也可以帮助你理解软件系统或业务流程.作为团队的成员,尝试弄清楚某些东西时,图形有助于理解和沟通整个团队所理解到 ...

  4. fzou 1759 Super A^B mod C

    Problem 1759 Super A^B mod CAccept: 456    Submit: 1488Time Limit: 1000 mSec    Memory Limit : 32768 ...

  5. c++实现全密码生成

    这里所谓的“全密码”指的是指定字符串中所有可能出现的密码.以字符串“0123456789”为例,可能出现的2位密码会有100个,即L^N个.(L代表字符串的长度,N代表要生成密码的位数). 第一种方法 ...

  6. vue项目创建

    使用命令行工具npm新创建一个vue项目   使用vue开发项目的前期工作可以参考前面写的:  Vue环境搭建及node安装过程整理 Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用. ...

  7. 已注册成Portal联合服务器的Server,如何修改机器名?

    1.产品版本 ArcGIS for Server 10.2.2 2.修改说明 本环境中,Portal for ArcGIS和ArcGIS for Server两个产品安装在同一台机器上.安装前已将完全 ...

  8. bootstrap 的模态框的宽与高设置

    1,改变bootstrap 的宽与高, 将style=“height:900px”放在<div class = "modal-dialog">或者更外层上,整个模态框的 ...

  9. Flume -- Transfer one type of source to another type

    Source within Flume is a kind of Server for outside client. Sink within Flume is a kind of client fo ...

  10. Recovering InnoDB table from an .ibd file.

    Recovering an InnoDB table from only an .ibd file. Sometime you may need to recover a table when all ...