- 【进阶编程】MVC和MVVM实现前后端分离的实现
de之梦-御风
进阶编程.netWPFmvc架构.net
在WPF开发中,通常使用MVVM(Model-View-ViewModel)架构来分离视图和业务逻辑,但在某些情况下,你可能希望将MVC(Model-View-Controller)模式与MVVM结合使用。这种结合有时是为了兼顾不同的架构优势,尤其是在大型应用程序中,或者当你在WPF中同时使用Web或ASP.NETCore后端时。MVC和MVVM结合的场景MVC是一种广泛用于Web开发的架构模式,
- 都是基于.NET平台,WPF能取代Winform吗?
zls365365
java编程语言python人工智能移动开发
学Winform还是WPF?很多winform的学者时常在我的技术群咨询要不要学习WPF?我一贯的观点是必须学啊!如果是搞工控做cs软件开发,WPF自然是首选。WPF优势在哪里?①前后端分离:WPF是数据驱动的而非Winform的事件驱动,可以通过属性bing的方式实现界面的数据更新,这样就可以很好地实现前后台的分离,在大型的开发项目中,后端开发人员只用编写VM相关的逻辑,界面视图部分可以去交给美
- wpf及很多前后端开发分离架构中为什么要使用mvvm开发模式?
上海物联网
wpf架构前端
如果你觉得对你面试有帮助,请点击视频听模拟讲解并关注wpf及很多前后端开发分离架构中为什么要使用mvvm开发模式?_哔哩哔哩_bilibiliMVVM是Model-View-ViewModel的简写,它是一种软件架构设计模式,特别适用于构建用户界面(UI),尤其是在前端开发中。一、组成部分1.Model:代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心)。在MVVM模
- word转HTML 基本版
我自横刀向天笑-去留肝胆两昆仑
Javahtmlword转换
同时支持doc和docx,话不多说,直接上代码项目依赖pom.xmlcommons-langcommons-lang2.6org.apache.poipoi3.14org.apache.poipoi-ooxml3.14org.apache.poipoi-scratchpad3.14fr.opensagres.xdocreportorg.apache.poi.xwpf.converter.xhtml
- WPF常见面试题解答
源之缘-OFD解决方案之道
WPFwpf
以下是WPF(WindowsPresentationFoundation)面试中常见的问题及解答,涵盖基础概念、高级功能和实际应用,帮助你更好地准备面试:基础概念什么是WPF?WPF是微软开发的用于构建桌面应用程序的UI框架,基于XAML(可扩展应用程序标记语言)和.NETFramework。它支持2D和3D图形、动画、数据绑定、多媒体等功能。WPF支持哪些类型的文档?WPF支持流格式和固定格式文
- WPF之comboBox可模糊查询
白驹……过隙
WPFwpf
前言本文采用了prism框架的基础。0、先准备一个类publicclassComboBoxItemModel{publicstringName{get;set;}publicstringValue{get;set;}}一、xaml代码。前端这里需添加两个属性,还有keyUp事件等。1、IsEditable="True"(开启可编辑)2、IsTextSearchEnabled="False"(开启可
- WPF中让Combobox具有查找功能
cplmlm
wpfwpfwindows
需求:由于combobox绑定的数据源数量比较多,如果让用户在下拉列中查找,难免会不太方便,于是就需要让combobox可以输入内容,并且希望根据用户输入的内容去自动匹配,这样效率就会提高!先在xaml中添加一个combobox:先看设置的属性:IsEditable就是启用或禁用ComboBox的文本框中的文本编辑,让combobox可以输入内容IsTextSearchEnabled就是是否开启T
- 57.有两个参数的Command C#例子 WPF例子
军训猫猫头
c#wpfui
SaveCommand=newRelayCommand(param=>SaveUser((ViewModel)param),param=>true);两个Param都是object类型两个param都是object类型。第一个param被传递的同时,并用于SaveUser方法。第二个param在这个特定的例子中没有被实际使用,只是作为CanExecute方法的一个形式参数,而lambda表达式总是
- 56.命令绑定 C#例子 WPF例子
军训猫猫头
c#wpf开发语言
一共是两个控件,绑定了属性和命令。用的是最简做法创建依赖:publicclassRelayCommand:ICommand{privatereadonlyAction_execute;publiceventEventHandlerCanExecuteChanged;publicRelayCommand(Actionexecute)=>_execute=execute;publicboolCanEx
- WPF自定义布局--瀑布布局
敲代码的TKP
wpf
引用提一下瀑布布局的需求,假设一共3列,当插入一个新元素时,都会自动插入在这3列中最短的那一列在common文件夹新建LayoutLesson.cs文件usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Window
- WPF拖拽交互全攻略及实现自定义拖拽控件及数据交换技巧解析
Nita.
WPFWPF自定义控件.NETwpf.NETc#1024程序员节
目录1.基本概念2.实现拖拽功能概述需要要实现基本的拖放,完成以下任务:其他操作示例3.1设置拖拽源,拖拽开始3.2设置拖拽效果DragDropEffects3.3设置放置目标,处理拖拽数据拖拽输入DragEnter事件DragOver事件拖拽离开DragLeave事件拖拽结束Drop事件3.其他实际使用中遇到的问题实现拖拽交换数据的自定义控件效果思路解析具体实现参考1.基本概念拖拽(Dragan
- WPF 使用webView显示浏览器网页
她说彩礼65万
wpf
在WPF中显示一个可以操作的浏览器界面,你可以使用WebBrowser控件或WebView2控件。WebBrowser控件是基于IE内核的,而WebView2是基于Chromium内核的,推荐使用WebView2,因为它更现代且支持最新的Web标准。使用WebBrowser控件WebBrowser控件是WPF内置的控件,使用起来比较简单,但功能有限。在XAML中添加WebBrowser控件:在代码
- 探索WPF中的RelativeSource:灵活的资源绑定利器
硅谷调试员
测控技术与仪器wpf
探索WPF中的RelativeSource:灵活的资源绑定利器在WPF(WindowsPresentationFoundation)开发中,资源绑定是一个强大且灵活的功能,它允许开发者将UI元素与数据源动态关联。而RelativeSource则是WPF中一个非常有用的工具,特别是在处理复杂的UI层次结构时。本文将带你深入了解RelativeSource的用法,并通过实例展示如何在实际项目中灵活运用
- 基于 WPF 平台使用纯 C# 制作流体动画
code_shenbing
WPFwpfc#开发语言
一、引言在WPF应用开发中,为界面添加生动的动画效果能显著提升用户体验。通常,我们会结合XAML和C#来打造各种动画,但今天我们聚焦于如何仅用纯C#在WPF平台上制作出令人惊艳的流体动画。这不仅能让开发者深入理解WPF动画机制,还能在特定场景下更灵活地控制动画效果。二、WPF动画基础回顾在深入纯C#制作流体动画前,先简单回顾WPF动画基础。WPF动画依赖时间线(Timeline)改变对象属性值来生
- 基于 WPF 平台使用纯 C# 实现动态处理 json 字符串
code_shenbing
WPFwpfc#json
一、引言在当今的软件开发领域,数据的交换与存储变得愈发频繁,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,以其简洁、易读、便于解析和生成的特点,被广泛应用于各种应用程序中。在WPF(WindowsPresentationFoundation)平台开发的桌面应用里,我们常常需要与各种数据源交互,动态处理JSON字符串就成为了一项必备技能。本文将深入探讨如何
- WPF基础 | WPF 布局系统深度剖析:从 Grid 到 StackPanel
xcLeigh
WPF从入门到精通wpfC#
WPF基础|WPF布局系统深度剖析:从Grid到StackPanel一、前言二、Grid布局:万能的布局王者2.1Grid布局基础:构建网格世界2.2子元素定位与跨行列:布局的精细操控2.3自适应布局:灵活应变的秘诀三、StackPanel布局:简约而不简单3.1StackPanel布局基础:有序堆叠之道3.2属性控制:定制堆叠细节3.3自适应与动态布局:智能的布局响应四、Grid与StackPa
- WPF基础 | 深入 WPF 事件机制:路由事件与自定义事件处理
xcLeigh
WPF从入门到精通wpfC#
WPF基础|深入WPF事件机制:路由事件与自定义事件处理一、前言二、WPF事件基础概念2.1事件的定义与本质2.2常见的WPF事件类型三、路由事件3.1路由事件的概念与原理3.2路由事件的三个阶段3.3路由事件的标识与注册3.4常见的路由事件示例四、自定义事件处理4.1为什么需要自定义事件4.2自定义路由事件的创建4.3自定义非路由事件的创建4.4自定义事件参数的传递五、路由事件与自定义事件处理的
- C#基础:WPF中常见控件的布局基础
我是苏苏
C#基础c#wpf开发语言
一、用ViewBox实现放缩控件不变二、布局代码LabelButton1Button2Button3Button4标签1标签2标签3标签4三、布局设计思路
- 基于 WPF 平台实现成语游戏
code_shenbing
WPFwpf游戏c#
一、引言在软件开发领域,利用各种框架开发有趣的应用程序是提升技术能力和增加开发乐趣的有效方式。WPF(WindowsPresentationFoundation)作为微软强大的桌面应用开发框架,提供了丰富的图形和交互功能。本文将带领大家基于WPF平台实现一个成语游戏,不仅能让大家深入了解WPF的应用,还能通过实际项目锻炼编程能力。二、成语游戏功能设计(一)游戏规则本成语游戏采用常见的接龙规则,玩家
- WPF 自定义布局面板详解:5步轻松掌握
墨瑾轩
一起学学C#【一】wpf
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣引言WPF(WindowsPresentationFoundation)是一个强大的用户界面框架,提供了丰富的布局控件。然而,有时候内置的布局控件可能无法满足特定的需求。这时,自定义布局面板就显得尤为重要。本文将详细介绍如何在WPF中自定义布局面板,并通过具体
- WPF-自定义瀑布流面板
小白tow
WPF
效果子控件的宽度全部一样,新增的子控件会追加到当前最矮的列最下方。源码WaterfallPanel.csusingSystem.Linq;usingSystem.Windows;usingSystem.Windows.Controls;namespaceWeChatInteract.CustomControls{//////瀑布流布局,等列宽///publicclassWaterfallPanel
- c#分页_《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
weixin_39654058
c#分页c#给按钮添加链接wpfmysql
大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员。我最近开始写dotnet分享文章,希望能让更多人看到dotnet的发展,了解更多dotnet技术,帮助dotnet程序员应用dotnet技术更好的运用于工作和学习中去。历经3个白天2个黑夜(至凌晨2点),Dotnet9小编经过反复修改、润色,终于完成此文编写(本文略长,手机党请考虑流量),只能说小编我不容易呀不容易。完成此文编
- 理解WPF中的布局
会敲键盘的肘子
.Net实用方法总结wpf.net
一、理解WPF中的布局在WPF问世之前,Windows开发人员使用刻板的基于坐标的布局将控件放到正确位置。在WPF中,这种方式虽然可行,但已经极少使用。大多数应用程序将使用类似于Web的流(flow)布局;在使用流布局模型时,控件可以扩大,并将其他控件挤到其他位置,开发人员能创建与显示分辨率和窗口大小无关的、在不同的显示器上正确缩放的用户界面;当窗口内容发生变化时,界面可调整自身,并且可以自如地处
- WPF实现全屏显示——遮挡任务栏/不遮挡任务栏
敲代码的TKP
wpf
不遮挡任务栏实现全屏显示//在后端代码中设置this.WindowState=System.Windows.WindowState.Normal;this.WindowStyle=System.Windows.WindowStyle.None;this.ResizeMode=System.Windows.ResizeMode.NoResize;this.Topmost=true;this.Left
- WPF项目:xaml笔记
敲代码的TKP
wpf笔记
1.设置页面无标题栏/全屏/禁止用户调整大小WindowStyle="None"设置页面无标题栏WindowState="Maximized"设置页面全屏最大化ResizeMode="NoResize"禁止用户调整大小注:页面非全屏(小窗口)时,想取消标题栏,必须禁止用户调整大小,否则会有白边
- WPF 实现动态属性绑定与动态绑定详解
code_shenbing
WPFwpf
在WPF开发中,动态属性绑定与动态绑定是十分强大的功能,它们为构建灵活、可交互的应用程序提供了有力支持。本文将深入探讨这两种技术,帮助开发者更好地理解和运用它们,提升WPF应用开发的效率与质量。一、动态属性绑定基础概念(一)什么是动态属性绑定动态属性绑定是指在运行时,根据程序的逻辑动态地改变绑定的属性路径或绑定源。与静态属性绑定不同,它不是在XAML编译阶段就确定好绑定关系,而是在程序运行过程中动
- WPF MVVM 模式如何监听IsVisibleChanged 事件
踏上青云路
wpf
原本以为这是一个很简单的问题,但是我却走了不少的弯路。记录下来自省。我使用的是库System.Windows.Interactivity.dll,首先在xaml中使用了EventTrrigger但是发现是无效的。经过改变IvokeCommandAction的参数,等方式,发现都无法触发。最后决定使用behavior来进行接下来的写法如下1、首先定义一个Behavior,(注意:这里我也遇到了一个问
- WPF4-代码后置
苏克贝塔
wpfwpf
1.什么是代码后置2.为什么WPF需要代码后置?2.1.分离关注点(SeparationofConcerns)2.2.事件驱动编程2.3.数据绑定和动态内容2.4.与UI控件的交互2.5.可重用性和模块化2.6.易于调试和单元测试3.WPF中代码后置的实现原理4.代码后置的组成5.代码后置与MVVM模式6.总结1.什么是代码后置在WPF(WindowsPresentationFoundation)
- WPF3-在xaml中引用其他程序集的名称空间
苏克贝塔
wpfwpf
1.如何在XAML里引用类库中的名称空间和类2.小结1.如何在XAML里引用类库中的名称空间和类首先需要记住一点:把类库引用到项目中是引用其中名称空间的物理基础,无论是C#还是XAML都是这样。一旦将一个类库引用进程序,就可以引用其中的名称空间。假设我的类库程序集名为MyLibrary.dll,其中包含Common和Controls两个名称空间,而且已经把这个程序集引用进WPF项目,那么在XAML
- WPF架构关键技术剖析(2)--XAML、对象序列化、类动态实例化
广州接入
2Silverlight4学习笔记1C#6编程感悟wpfdelphiui语言assemblyhtml
我们知道对于界面元素的描述,WPF的XAML不是第一个,HTML就要早很多,delphi的dfm也是一种。界面描述和界面交互逻辑的分离是有很多好处的,比如有利于可视化设计,有利于界面复用等。微软总是想一统天下,WPF的出现也是这种理想。当然,这种理想的出现也是有实际需求支持的。对于应用程序架构来说,传统的CS和BS都在相互融合,所以整合这两种模式下的界面设计也有其需求,并有利于两种模式的转换和融合
- 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