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")来获取参数值。

转自这里

JSP指令标签、动作标签的更多相关文章

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

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

  2. JSP九个内置对象及指令、动作标签

    一.JSP九大内置对象 (一)JSP中无需创建就可以使用的9个对象 输入输出对象 1.response(HttpServletResponse):处理JSP生成的响应,然后将响应结果发送给客户端.是s ...

  3. JSP指令与动作

    Jsp基本指令和动作 (2011-08-18 16:25:13) 转载▼ 标签: 杂谈 分类: java JSP基本指令 jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出 ...

  4. JSP指令与动作元素

    include指令 语法:<%@ include file="URL" %> 其中,URL表示一个要包含的页面. include动作(是一个动作标签) 语法:<j ...

  5. jsp中的动作标签

    和html标签一样,使用尖括号'<>'包裹起来. 用于在jsp页面中处理业务逻辑,避免在jsp中过多的使用java脚本. <jsp:forward>用于请求转发,它与Reque ...

  6. JSP学习笔记(1)——Jsp指令、动作元素和内置对象

    简单来说,javaweb技术就是让服务器端能够执行Java代码,之后返回数据给客户端(浏览器)让客户端显示数据 jsp页面中可以嵌套java代码(java小脚本)和嵌套Web前端(html,css,j ...

  7. JavaWeb【八、JSP指令与动作元素】

    include指令(页面嵌套) <%@ include file="URL"%> include动作 <jsp:include page="URL&qu ...

  8. Java遇见HTML——JSP篇之JSP指令与动作元素

    一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp <%@page import="java.te ...

  9. JAVA遇见HTML——JSP篇(JSP指令与动作元素)

  10. 重温JSP学习笔记--JSP动作标签

    上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...

随机推荐

  1. JavaScript 的 this 指向问题深度解析

    与我们常见的很多语言不同,JavaScript 函数中的 this 指向并不是在函数定义的时候确定的,而是在调用的时候确定的.换句话说,函数的调用方式决定了 this 指向. JavaScript 中 ...

  2. java7连接数据库 网页 添加学生信息测试

    石家庄铁道大学2019年秋季   2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟 一. 考试要求: 1登录账号 ...

  3. local_time

    time_t time(time_t *tloc); 功能:获取纪元1970-01-01 00:00:00以来所经历的秒数 参数: tloc:用来存储返回时间 返回值:成功:返回秒数, 失败:-1 - ...

  4. 【洛谷P3957】跳房子

    题目大意:给定一个数轴和 N 个点,点有点权,现从 0 位置出发,初始时每次只能走 d 的距离,可以在数轴上任意位置停下,此时,会得到一个点权和.现允许支付 x 的费用,使得每次可以走的距离为一个范围 ...

  5. 后端返回图片的url,将其转成base64,再次进行上传

      //将图片变成base64再上传(主要是转化来自客户端的图片)  getUrlBase64=(url, ext)=> {     var canvas = document.createEl ...

  6. Flash大文件断点续传解决方案

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  7. the nearest point/vertex point of linestring

    引用https://github.com/Toblerity/Shapely/issues/190 snorfalorpagus commented on 18 Oct 2014 The point ...

  8. 分享几个免费IP地址查询接口(API)

    淘宝IP地址库 提供的服务包括:1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家.省.市和运营商.2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服 ...

  9. happens-before规则和as-if-serial语义

    JSR-133使用happens-before的概念来阐述操作之间的内存可见性.在JMM中,如果一个操作执行的结果需要对另一个操作可见, 那么这2个操作之间必须要存在happens-before关系. ...

  10. Misha and Permutations Summation

    A - Misha and Permutations Summation 首先这个 mod n! 因为数量级上的差别最多只会对康拓展开的第一项起作用所以这个题并不需要把 ord (p) 和 ord ( ...