- vue跟jQuery中的事件冒泡、事件捕获、事件委托(事件代理)
淑子啦
vue.jsjquery前端
1、事件捕获、事件冒泡在JS中,我们管事件发生的顺序叫“事件流”标准的事件流:当dom触发了事件后,会先通过事件传播捕获到目标元素,然后目标节点通过事件传播实现事件冒泡事件传播:无论是捕获还是冒泡,都是靠事件传播一层一层传递的,当在某一层禁止事件传播,那么之后的步骤就不再进行了Tips:目标元素指的是触发事件的节点(1)事件捕获鼠标点击或者触发了dom事件,浏览器会从根节点(Document对象)
- C#学习笔记
2301_79022588
学习笔记
一、事件派发器在C#中,事件派发器通常是指事件委托和事件处理程序的组合,用于实现一种观察者设计模式。它允许对象在状态发生变化时通知其他对象,从而实现对象之间的解耦。事件派发器的基本组成部分:事件委托(EventDelegate):事件委托是一种特殊的委托,用于封装可以被调用的方法。它定义了事件的签名,即指定了事件处理程序方法的参数和返回类型。通常,事件委托声明在事件派发器类的外部,并且使用dele
- 事件流 事件委托
汓㸓
前端数据库javascript
一、事件流事件流(Eventflow)是指在HTML文档中发生事件时,事件的传播方式或者说流动路径。事件流描述了事件从触发元素开始,经过各个元素传递并最终到达目标元素的过程。事件流有三个阶段:捕获阶段(Capturephase):事件从最外层的祖先元素开始向下传递,直到达到触发事件的目标元素。在捕获阶段,事件会经历所有祖先元素的捕获处理程序。目标阶段(Targetphase):事件到达目标元素,即
- JavaScript中的事件委托
zhangwenok
JavaScriptjavascript前端开发语言
今天,我们来讨论一下JavaScript中的事件委托。JavaScript事件委托是一种优化代码的技术,它允许我们在DOM树中注册一个事件处理程序,并通过冒泡机制处理多个元素的事件。事件委托是一个强大的技术,它可以极大地提高代码性能和可维护性。下面是一个例子,用事件委托处理一个动态生成的列表:Item1Item2Item3constlist=document.querySelector('#myL
- JavaScript中事件委托是什么?
LuckXinXin
JavaScriptjavascript
符合W3C标准的事件绑定:addEventLisntener/attachEvent。让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行。
- JavaScript中什么是事件委托
JJCTO
JavaScriptjavascriptcss前端
JavaScript中的事件委托(Eventdelegation)是一种重要的编程技术,它能够优化网页中的事件处理,提高程序的性能和可维护性。本文将详细介绍事件委托的概念、工作原理,并提供示例代码来说明其实际应用。事件委托是基于事件冒泡机制而存在的。通常情况下,我们会为每个需要响应事件的元素添加事件监听器,而当页面中元素数量庞大时,这样的操作就会导致性能下降和代码维护困难。而事件委托的思想则是将事
- [前端开发] 常见的 HTML CSS JavaScript 事件
YuanDaima2048
前端学习基础概念htmlcssjavascripthtml5css3es6前端
代码示例指路常见的HTML、CSS、JavaScript事件代码示例常见的HTMLCSSJavaScript事件事件HTML事件鼠标事件键盘事件表单事件JavaScript事件对象事件代理(事件委托)事件在Web开发中,事件是用户与网页交互的重要方式之一。通过事件,用户可以与页面元素进行交互,触发相应的功能或效果。本文将介绍常见的HTML、CSS、JavaScript事件,以及事件对象和事件代理的
- 2018-05-02美团二面总结
Observer_____
1.事件委托的好处?面试官不太满意减少内存占用,已删除的元素不必再解绑,添加新的元素不用单独绑定2.DNS多级缓存不太会答3.关于内存泄漏闭包问题,要记得释放引用局部变量的闭包函数,否则会引起内存泄漏4.Array是引用类型。为啥?因为和C语言的指针类似,只是一个引用
- 事件机制 事件捕获 处于目标阶段 事件冒泡 事件委托
蘑菇酱960903
事件捕获当点击触发了dom事件,浏览器会从根节点开始由外向内进行传播,如果父元素在捕获期注册了对应的事件,则会先触发父元素的绑定事件事件冒泡由内向外进行传播,直到根节点事件流:事件捕获期(IE10以下不支持捕获期)->处于目标阶段->事件冒泡期当子元素不想触发父元素事件,可停止事件传播event.stopPropagation()或者event.cancelBubble=true事件委托就是根据事
- js中事件代理的解析和应用场景
章IT
javascript前端vue.js前端框架css3小程序微信小程序
文章目录一、是什么二、应用场景三、总结一、是什么事件代理,俗地来讲,就是把一个元素响应事件(click、keydown…)的函数委托到另一个元素前面讲到,事件流的都会经过三个阶段:捕获阶段->目标阶段->冒泡阶段,而事件委托就是在冒泡阶段完成事件委托,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,而不是目标元素当事件响应到目标元素上时,会通过事件冒泡机制从而触
- JS中的事件代理详解
呗儿塔
事件代理的定义对于事件委托或者说事件代理,有这样一段定义:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。举个例子来说首先我们创建一个拥有多个平行元素的列表Item1Item2Item3Item4Item5Item6当鼠标移动到li上或者点击了li的时候,需要触发相应的事件,若果不使用事件代理,那么我们需要为每一个li都添加相应的onClick()或者onMouse
- ES6和ES5的区别、ES6新特性、Promise.all()用法简记、JavaScript事件代理(事件委托)、值类型和引用类型的区别、回流与 重绘——面试篇
大脸胖柴
大前端前端
目录es5和es6的区别var、let、const初始化变量的区别使用箭头函数要注意事项forof与forin的区别Promise.all()用法简记解决promise失败不返回结果封装catch方法(失败结果也接收)只接收成功值方法JavaScript事件代理(事件委托)基本概念值类型和引用类型的区别1、javascript中变量类型分为值类型(基本数据类型)和引用类型2、值类型和引用类型的区别
- vue-seamless-scroll 点击事件无效的处理方法
weixin_45979310
javascriptvue.js
在使用vue-seamless-scroll自动滚屏绑定事件时,个别点击不了。该插件为了实现无缝衔接而复制了dom渲染,不会带上事件。解决办法:利用事件委托。<vue-seamless-sc
- vue-seamless-scroll插件使用后点击事件无效
JiAyInNnNn123
开发问题Vuevue.jsjavascript前端
场景:当前使用vue-seamless-scroll包裹了一个滚动div的list,当前list中的div需要点击进行其他逻辑处理问题:部分div点击不触发点击事件原因:因为vue-seamless-scroll中间包裹的dom复制渲染,没有带上dom的事件导致。解决方式:使用事件委托。在vue-seamless-scroll外部的div添加点击事件,获取$event的target{{item.n
- vue2编写一个自定义指令,一键绑定事件委托
外围前端吴彦祖
Vuevue.jsjavascript前端
importvuefrom"vue";constNAME="entrust";constINIT=(el,node)=>{if(elinstanceofHTMLElement){const{method,key,data}=node.value;el.onclick=(e)=>{constdom=e.target;if(dom.tagName){constindex=dom.dataset[key
- js中的事件委托(事件代理)
guizi0809
js基础javascript
事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。为什么要用事件委托?一般来说,dom需要有事件处理程序,我们都会直接给它设事件处理程序就好了,那如果是很多的dom需要添加事件处理呢?比如我们有1000个li,每个li都有相同的click点击事件,可能我们会用for循环的方法,来遍历所有的li,然后给它们添加事件,那这么做会存在什么影响呢?在JavaScript中,添
- 事件冒泡、事件委托
啊烟雨
事件冒泡:在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。事件冒泡的作用:事件冒泡允许多个操作被集
- 什么是事件委托以及live on delegate之间的关系
hbhey
一、首先什么是事件委派?事件委派(委托):事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。当页面同步加载时,会添加事件。有时数据是异步加载,同步无法给不存在(刚开始)的元素添加事件。此时我们可以在一开始就存在的父元素上添加事件,再通过父元素在触发时找子元素。二、事件委托优点提高JavaScript性能。事件委托可以显著的提高事件的处理速度,减少内存的占用。三、Jquery事
- JavaScript - 基础+WebAPI(笔记)
禁止摆烂-才浅
前端-笔记JavaScriptES6javascript笔记前端
前言:求关注本篇文章主要记录以下几部分:基础:输入输出语法;数据类型;运算符;流程控制-分支语句;流程控制-循环语句;数组-基础;函数-基础;对象-基础;WebAPI:DOM;DOM事件基础(事件监听、常用事件、事件对象);DOM事件进阶(事件流、事件委托);日期对象;节点操作;M端事件;JS插件;window对象;本地存储;正则表达式;以下部分请移步JavaScript-进阶+高级(笔记):进阶
- addEventListener 事件监听
m0_71251536
p2p网络协议网络
1,事件委托不给子节点li设置事件监听器,而直接给父节点ul设置,利用冒泡原理影响每个子节点知否知否,点我应有弹窗在手知否知否,点我应有弹窗在手知否知否,点我应有弹窗在手知否知否,点我应有弹窗在手知否知否,点我应有弹窗在手varul=document.querySelector('ul');ul.addEventListener('click',function(e){for(vari=0;i2,
- JavaScript--事件委托
开着五菱宏光的小白
什么是事件委托把目标元素的事件委托给父元素利用了事件冒泡的原理事件委托有什么好处管理的函数变少了。不需要为每个元素都添加监听函数。对于同一个父节点下面类似的子元素,可以通过委托给父元素的监听函数来处理事件。可以方便地动态添加和修改元素,不需要因为元素的改动而修改事件绑定。(比如后来添加子元素依然拥有事件)JavaScript和DOM节点之间的关联变少了,这样也就减少了因循环引用而带来的内存泄漏发生
- JS-事件相关
Turbosaa
JavaScriptjavascript前端
文章目录事件介绍常见事件类型1.鼠标事件2.键盘事件3.表单事件4.触摸事件5.其他事件事件绑定DOM0级事件DOM2级事件(事件监听器/侦听器)事件解绑事件对象鼠标事件相关信息键盘事件相关信息浏览器默认行为事件目标事件传播阻止事件传播事件委托事件介绍和页面内容约定的事情当该页面内容触发了约定的行为的时侯,则执行对应的事情事件三要素事件源:绑定事件的元素事件类型:绑定的什么事件事件处理程序(函数)
- 【JS基础】事件对象event、环境对象this、事件的高级操作
人才程序员
Javascript保姆级教程javascript开发语言ecmascriptjquery前端html5json
文章目录一、事件对象1.1事件对象是什么?1.2使用方法二、环境对象this以及回调函数2.1它是什么?2.2演示示例三、事件的高级操作3.1事件流3.2事件捕获3.3事件冒泡以及阻止冒泡3.4事件解绑3.5mouseover和mouseenter事件的区别3.6事件委托它是什么?代码示例3.7阻止使用的默认行为总结一、事件对象1.1事件对象是什么?事件对象是什么也是个对象,这个对象里有事件触发时
- bootstrap编辑回显案例
就叫飞六吧
bootstrapjavascriptecmascript
bootstrap编辑回显案例BootstrapTableEditIDNameEmailAction1Johnjohn@example.comEditEditUserIDNameEmailSaveClose$(document).ready(function(){//通过事件委托监听编辑按钮点击事件$('#data-table').on('click','.edit-btn',function()
- 事件委托
wrs瑞
概念事件委托又叫事件代理,事件委托就是利用事件冒泡,只制定一个事件处理程序,就可以管理某一类型的所有事件。在js中事件冒泡得知,子元素身上的事件会冒泡到父元素身上。事件代理就是将未来子元素身上的时间加在了父元素身上,当子元素时间触发时,会一级一级向上执行,这样我们就可以让父元素上代为执行。通过Event对象可判断是哪个子元素触发了事件。为什么使用委托dom对象都需要有事件处理函数,我们可以直接对每
- 设计模式-委托模式
有梦想的攻城狮
设计模式设计模式委托模式
设计模式专栏模式介绍模式特点应用场景委托模式与代理模式的区别代码示例Java实现委托模式Python实现委托模式委托模式在spring中的应用模式介绍委托模式是一种行为模式,用于在面向对象设计中解决多个对象接收并处理同一请求的问题。它通过将请求委托给另一个对象来统一处理请求,提高程序的性能和降低内存空间的使用。委托模式利用了事件的冒泡机制,将一个或一组元素的事件委托给它们的父层或更外层元素上。真正
- 事件流、事件冒泡、事件捕获、鼠标经过事件、 mouseover和mouseenter的区别、事件委托、阻止默认行为(阻止冒泡)、页面加载、滚动、尺寸
初闻女人香
javascript前端css
事件流分为捕获阶段和冒泡阶段Document.father{width:500px;height:500px;background-color:pink;}.son{width:200px;height:200px;background-color:purple;}constfa=document.querySelector('.father')constson=document.querySel
- React的合成事件
小白分享
react.jsjavascript前端
合成事件:通过事件委托,利用事件传播机制,当事件传播到document时,再进行分发到对应的组件,从而触发对应所绑定的事件,然后事件开始在组件树DOM中走捕获冒泡流程。原生事件——>React事件——>document事件都是先执行原生事件再到react事件。但是不要原生事件和react都用,如果原生事件使用stopPropagation(),那将无法冒泡到react事件,那个对应的事件将无法被注
- DOM 事件相关
G_kai
一丶什么是事件委托?事件委托的原理:事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,
- js基础(二):事件(事件冒泡、事件捕获、事件对象、事件委托)
斯图尔te
#JavaScriptevent事件事件冒泡事件捕获
一、事件javascript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。事件流事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而NetscapeCommunicator的事件流是事件捕获流。事件冒泡IE的事件流叫做事件冒泡(eventbubbling),即事件开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include