- Python Qt6快速入门-模型视图(ModelView)
视觉与物联智能
Python编程实例ui编程语言pythonpyqt6qt6
模型视图(ModelView)文章目录模型视图(ModelView)1、MVC模式介绍2、Qt的MVC模式类介绍3、视图/模型应用实例3.1UI设计3.2模型3.3逻辑功能实现3.4数据持久化Qt包含一组项目视图类,它们使用模型/视图体系结构来管理数据之间的关系及其呈现给用户的方式。这种体系结构引入的功能分离为开发人员提供了更大的灵活性来自定义项目的表示,并提供了一个标准模型接口以允许广泛的数据源
- ubuntu指定版本安装python
丐哥说
ubuntupythonlinux运维服务器
Python,安装相关视频讲解:python的or运算赋值用法用python编程Excel有没有用处?011_编程到底好玩在哪?查看python文件_输出py文件_cat_运行python文件_shel安装指定版本的Python在Ubuntu上Python是一种广泛使用的高级编程语言,具有简单易读的语法和强大的功能,因此受到了众多开发者的喜爱。在Ubuntu系统上安装Python是一项常见的操作,
- Qt 模型视图
小卒曹阿瞒
C++/QT
Widget::Widget(QWidget*parent):QWidget(parent){QStringListdata;datasetStringList(data);listView=newQListView(this);listView->setModel(model);QHBoxLayout*btnLayout=newQHBoxLayout;QPushButton*insertBtn=
- Qt Widgets、QML与Qt Quick
人才程序员
qml基础教程qt开发语言c++c语言uiqml
文章目录前言QMLVSQtQuick概念上的区别模块上的区分QtQuick1.xVSQtQuick2.x1.QtQuick1.x(基于Qt4.x)2.QtQuick2.x(基于Qt5.x)为什么要引入QML/QtQuick?1.战略性发展2.开发效率的提升3.UI与逻辑分离QtWidgetsVSQML/QtQuickQtWidgets的特点:QML/QtQuick的特点:总结前言随着跨平台开发的需
- Qt - 模型视图
aoaoGofei
qtqt数据库oracle
模型/视图概念模型/视图结构将数据存储和界面展示分离,分别用不同的类实现模型:存储数据视图:界面上的视图组件显示模型中的数据;在视图组件里修改的数据会被自动保存在模型中源数据内存中的一个字符串列表磁盘文件系统结构数据库的一个数据表sql查询结果视图(视图组件)视图从模型获得数据然后将其显示在界面上QListViewQTreeViewQTableView模型(数据模型)模型与源数据通信,并为视图自检
- PyQt入门学习:深入理解Model/View架构中的视图Item Views父类
代码飞翔
pyqt学习Python
PyQt入门学习:深入理解Model/View架构中的视图ItemViews父类在PyQt中,Model/View架构是一种常用的模式,用于处理数据与界面的分离。其中,视图(View)负责显示数据,并通过ItemViews父类提供了许多方便的功能和方法。本文将详细介绍ItemViews父类的使用,并提供相应的源代码示例。在开始之前,请确保已经安装了PyQt库。可以使用以下命令进行安装:pipins
- R语言 数据导出和导入 csv tsv xls xlsx
仿生bug
r语言
【R语言】Excel导出为Excel的xls、xlsx#【-------导出数据--------】write.table(data2,file="train1.xls",sep="\t",row.names=TRUE,col.names=TRUE,quote=TRUE)write.table(data2,file="train2.xlsx",sep="\t",row.names=TRUE,col.
- Spring boot结合easy excel实现低代码量的Excel导入导出
艾迪的技术之路
Java开发Springspringbootexceljava
Springboot实现低代码量的Excel导入导出文章目录Springboot实现低代码量的Excel导入导出maven导入使用泛型实现对象的单个Sheet导入先实现一个类,用来指代导入的特定的对象重写ReadListener接口Controller层的实现通过实现单个Sheet中任意一种数据的导入Controller层的实现重写ReadListener接口使用线程池进行多线程导入大量数据通过泛
- QT的OpenGL渲染窗QOpenGLWidget Class
无水先生
python-pygame3D图形渲染和OpenGL编程系统架构数据库
Qt-QOpenGLWidget(class)(runebook.dev)一、说明QOpenGLWidget类是用于渲染OpenGL图形的小部件。从Qt5.4就开始退出,它对于OpenGL有专门的配合设计。二、QOpenGLWidget类的成员2.1Public类函数QOpenGLWidget(QWidget*parent=nullptr,Qt::WindowFlagsf=Qt::WindowFl
- qt 无框dockwidget_QT QDockWidget的使用
开眼旅行精选
qt无框dockwidget
可停靠物件是能停靠在QMainWindow边上或者悬浮为一个独立窗口的物件。QMainWindow提供四个可停靠物件区域:中央物件的上面,下面,左边,右边各一个。像MicrosoftVisualStudio和Qt语言家等程序大量使用了可停靠物件以提供一个非常灵活的用户界面。在Qt中,可停靠物件是QDockWidget的实现。图6.13一个带有一个可停靠物件的QMainWindow每个可停靠物件都有
- Qt中QRadioButton的样式设置
水瓶丫头站住
样式表Qtqt开发语言
在Qt中,可以使用Qt样式表(QSS)来自定义QRadioButton的外观。样式表类似于CSS,允许你设置控件的颜色、字体、边框、背景等属性。以下是如何为QRadioButton设置样式表的详细说明和示例。1.基本样式设置你可以通过setStyleSheet方法为QRadioButton设置样式。示例:设置文本颜色和字体QRadioButton*radioButton=newQRadioButt
- Qt的QDockWidget 样式设置详细指南(涵盖标题栏、边框、浮动状态等)
水瓶丫头站住
样式表Qtqt开发语言
以下是关于QDockWidget样式设置的详细指南,涵盖标题栏、边框、浮动状态等常见定制需求:1.核心样式属性QDockWidget的样式可通过以下选择器和子控件控制:QDockWidget:主容器样式QDockWidget::title:标题栏区域QDockWidget::close-button和QDockWidget::float-button:关闭/浮动按钮QDockWidget:floa
- QT OpenGL高级编程
QT性能优化QT原理源码QT界面美化
qtqt6.3qt5QT教程c++
QTOpenGL高级编程使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QT_OpenGL基础1.1OpenGL简介1.1.1OpenGL简介Ope
- QT 3D光照与阴影
QT性能优化QT原理源码QT界面美化
qtqt6.3qt5QT教程c++3d
QT3D光照与阴影使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QT_3D光照基础1.1光照概念与重要性1.1.1光照概念与重要性光照概念与重要性
- qt5实现表盘的旋转效果,通过提升QLabel类
熔钧
qt开发语言
因为工作需要,需要实现温度的表盘展示效果实现思路:通过提示声QLabel控价类,实现报盘的旋转和展示效果1.编写一个QLabel的类MyQLabel,实现两个方法1.voidpaintEvent(QPaintEvent*event);//重绘函数2.voidvalueChanged(intvalue);//更改值2.提升QLabel控件,实现两个方法函数的重置入3.通过按钮和滑动条,改变数值,实现
- qt + opengl 给立方体增加阴影+纹理
foxgod
qtopenglc++
在上一篇中,我们说了如何给立方体增加阴影和光照,那么我这篇在说下如何给在阴影上增加纹理。这里我们需要在顶点和片段着色器里面增加纹理属性。修改顶点着色器#version330corelayout(location=0)invec3aPos;layout(location=1)invec3aNormal;layout(location=2)invec2aTexCoord;uniformmat4mode
- qtablewidget 设置列宽行高遇到的问题
foxgod
windowsqt
1设置行高和列宽后,点击网格线不完整的item时候,item不触发,滚动条滚动1//隐藏最后空列,有标题最后一行自动拉伸2ui.QTableWidget->horizontalHeader()->setStretchLastSection(true);这个方法我试了,是能自动完成列头的自动填充,但是有一个缺点:列头中空余的其余部分都是用最后一列来填充的,这样造成的问题就是最后一列很宽,严重影响美观
- MATLAB中,使用load函数报错(ASCII 文件“XXX”的行号 1 中的文本未知 "�唷��"。)
K小爷
学习笔记MATLAB仿真数据处理
1、本来想使用load函数在MATLAB导入Excel表格;2、使用load之后,出现了错误:ASCII文件“XXX”的行号1中的文本未知"�唷��";3、解决办法:使用importdata函数代替load函数,则不会出错。
- QML 与 QWidget:联系、区别与使用场景
忧虑的乌龟蛋
Qtlinux嵌入式QtQMLQWidget界面设计ui
文章目录前言一、QML与QWidget的联系1.1同属Qt框架1.2共享底层功能1.3混合使用二、QML与QWidget的区别2.1技术架构2.2开发效率2.3界面表现力2.4性能2.5跨平台支持三、使用场景3.1QWidget的使用场景3.2QML的使用场景四、QML与QWidget的混合使用4.1在QWidget中嵌入QML4.2在QML中调用QWidget总结前言在Qt框架中,QML和QWi
- QT开发技术 [opencv加载onnx模型,dnn推理]
增援未来章北海
QT开发技术qtopencvdnn
一、导出onnx模型yoloexportmodel=xx\xx\best.ptformat=onnx二、qt加载onnx模型,推理显示std::stringfileName=QCoreApplication::applicationDirPath().toStdString()+"/Model/best.onnx";cv::dnn::Netnet=cv::dnn::readNetFromONNX(
- 利用python在VScode环境中检查excel文件中第二列产品名称是否有确切的几个品牌名称,并提取相同的其他返回列表,将结果输出到excel文件...
Xi Zi
pythonexcel开发语言
可以使用Python的openpyxl库来操作Excel文件。首先,需要使用openpyxl库中的load_workbook函数来打开Excel文件。然后,使用active属性获取当前活动的工作表,并使用iter_rows方法迭代所有行。对于每行,可以使用下标访问特定的单元格,比如row[1]访问第二列。如果单元格中的值是我们要查找的品牌名称之一,就可以将该行的其他列的值添加到结果列表中。最后,使
- Qt的QTabWidget样式设置
水瓶丫头站住
样式表Qtqt开发语言
QTabWidget是Qt框架中用于创建选项卡式界面的控件。可以通过样式表(QSS,QtStyleSheets)来设置QTabWidget的外观。以下是一些常见的样式设置示例:1.基本样式设置tab_widget.setStyleSheet("""QTabWidget::pane{border:1pxsolid#ccc;background-color:#f0f0f0;}QTabBar::tab{
- w223信息技术知识赛系统设计与实现
栗豆包
javaspringboot后端javaspring
作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板,帮助书写开题报告。作者完整代码目录供你选择:《Springboot网站项目》400套《ssm网站项目》800套《小程序项目》300套《App项目》500套《Python网站项目
- QT开发:事件循环与处理机制的概念和流程概括性总结
m0_74824044
面试学习路线阿里巴巴qt开发语言
事件循环与处理机制的概念和流程Qt事件循环和事件处理机制是Qt框架的核心,负责管理和分发各种事件(用户交互、定时器事件、网络事件等)。以下是详细透彻的概念解释和流程讲解。1.事件循环(EventLoop)的概念事件循环是一个无限循环,它从操作系统或其他事件源获取事件,并将其分发给应用程序中的对象进行处理。事件循环确保应用程序能够不断地响应用户输入和其他异步事件。在Qt中,QCoreApplicat
- Qt键盘事件
花王江不语
qt开发语言
1.重写键盘事件event->key()voidkeyPressEvent(QKeyEvent*event){if(event->key()==Qt::Key_Delete||event->key()==Qt::Key_Backspace){qDebug()grabKeyboard();但是这个组件会接收所有的键盘事件,直到你把这个组件库释放。所以可能键盘事件都会被这个组件拦截了。。。3.如果要设
- 便捷的多格式一键转换办公利器,免费使用。
开开心心就好
电脑软件python服务器智能手机java
软件介绍这款工具叫:FileConverter,它在2017年推出的V1.2.3版本,如今要给大家分享其去年已悄然更新的V2.0版。它以安装版形式呈现,特别之处在于安装完成后无独立界面,直接巧妙内嵌至系统右键菜单,操作便利性拉满。功能方面堪称强大,涵盖图片、音频、视频、PDF、Word、Excel、PPT等多种类型文件的格式转换,详情可查看图示。就拿图片格式转换来说,能轻松将其他格式图片转成gif
- Python自动化操作Excel、Word、PPT、PDF工具
Python之栈
python自动化excel
今天给大家分享一下,花费2周时间整理的Python自动化办公库。本次内容涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库,希望能够对大家有所帮助。PythonExcel自动化库//1.xlwings库官网:https://www.xlwings.org/特点:xlwings是开源且免费的,预装了Anaconda和WinPython,可在Win
- Windows环境打印文档的同时自动生成PDF副本的方法
码农君莫笑
打印国产化信管通windowspdf打印
如果要在Windows环境打印文档的同时自动生成PDF副本,可以使用以下几种方法,无需编写代码。方法1:使用“MicrosoftPrinttoPDF”虚拟打印机(适用于手动操作)步骤:打开Word/Excel/PDF文件按Ctrl+P进入打印界面选择物理打印机,并点击“打印”(打印到实际设备)再次打开打印界面,选择“MicrosoftPrinttoPDF”(保存为PDF)选择PDF保存路径,完成P
- Qt中update和repaint的区别
凌武贰玖
Qt#QPainter
update()或repaint()被调用后会强制产生一个绘制事件。这两个函数的区别是:repaint()函数会强制产生一个即时的重绘事件,而update()函数则只是在Qt下一次处理事件时才简单地调用一个绘制事件。(如果窗口部件在屏幕上是透明的,那么这两个函数什么也不会做。)如果多次调用update(),Qt就会把连续的绘制事件压缩成一个单一的绘制事件,这样可以避免屏幕出现闪烁现象。使用频率:u
- VBA第十三期 删除指定行或者列的几种方法
jimin_callon
服务器运维python开发语言
虽然VBA提供清空连续区域和的单元格内容,但这种操作在实际编程中用得不多,一般都采取删除整行或者阵列操作。第一种是我们需要删除表格中多余的行。比如我们复制一张数据表到当前工作表,需要删除某个月或者大于多少行以后的数据,那么就用一个If判断,下面的语句中lastrw=lastrw1时下面的if语句不执行,即没有多于的行需要删除。Iflastrw
- 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