Jsp包含三个编译指令和七个动作指令。
三个编译指令为:page、include、taglib。
七个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。
一、编译指令 1、 page指令
a. 通常位于jsp页面的顶端,同一个页面可以有多个page指令。语法格式如下:
复制代码 代码如下:
〈% @page
[language="Java"]
[extends="package.class"]
[import= "package. class I package. *},…"]
[session="true I false"]
[buffer="none I 8kb I size kb" 1
[autoFlush="true I false"]
[isThreadSafe="true I false"]
[info="text"]
[errorPage="relativeURL"]
[contentType="mimeType[ ;charset=characterSet]" I"text/html;charset= "808859-1"]
[isErrorPage=" true I false"]
%〉
1)language属性,一般情况就是java,代表jsp页面使用的脚本语言。
2)Extends属性,确定 JSP 程序编译时所产生的 Java 类,需要继承的父类,或者需要实现的接口的全限定类名。
1.import属性,用来导入包,下面几个包是默认自动导入的,不需要显式导入。默认导入的包有:
复制代码 代码如下:
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
2.Session属性,设定这个 JSP 页面是否需要 HTIP session 。
3.buffer属性,指定输出缓冲区的大小。输出缓冲区的 JSP 内部对象: out 用于缓存 JSP页面对客户浏览器的输出,默认值为 8kb,可以设置为 none ,也可以设置为其他值,单位为kb
4.autoFlush属性,当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true 时为正常输出;如果设置为 false ,会在 buffer 溢出时产生一个异常。
5.Info属性,设置该 JSP 程序的信息,也可以看做其说明,可以通过 Servlet. getServletInfo()方法获取该值。如果在 JSP 页面中,可直接调用 getServletInfoO方法获取该值,因为 JSP 页面的实质就是 Servlet 。
errorPage属性,指定错误处理页面。如果本程序产生了异常或者错误,而该 JSP 页面没有对应的处理代码,则会自动调用该指令所指定的 JSP 页面。使用 JSP 页面时,可以不处理异常,即使是 checked 异常。(重定向到对应的错误处理页面,但是URL还是原来的URl,并不发生变化)如果这个页面不存在这个属性,那么一旦代码出现问题,就会在开发环境和IE浏览器上提示错误。可见这条属性控制异常处理的效果在表现形式上要好的多。
6.IsErrorPage属性,设置本 JSP 页面是否为错误处理程序。如果该页面本身己是错误处理页面,则无须使用 errorPage 属性。
7.ContentType属性,用于设定生成网页的文件格式和编码方式,即 MIME 类型和页面字符集类型,默认的 MIME 类型是 text/html; 默认的字符集为 ISO-8859-1 。
2、 include指令
使用 include 指令,可以将一个外部文件嵌入到当前 JSP 文件中,同时解析这个页面中的 JSP 语句(如果有的话)。这是个静态的 include 语旬,不会检查所包含 JSP 页面的变化。
include 既可以包含静态的文本,也可以包含动态的 JSP 页面。静态的编译指令include ,是将被包含的页面加入进来,生成一个完整的页面。
include 编译指令的语法:
〈% @include file="relativeURLSpec" %〉
如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的 include 语句。
包含include指令的jsp页面在部署后,经过访问编译生成java文件,在tomcat的 work\Catalina\localhost\project\org\apache\jsp目录下会生成对应的java文件,这些文件与jsp的名字相同,他包含了编译后的代码,甚至include包含的另外一个jsp的代码也被相应的加入了进来。
二、 动作指令 1、 forward指令:forward 指令用于将页面响应控制转发给另外的页面。既可以转发给静态的 HTML页面,也可以转发到动态的 JSP 页面,或者转发到容器中的 Servlet。
JSP 的 forward 指令的格式如下:
对于 JSP 1. 0 ,使用如下语法:
复制代码 代码如下:
<jsp:forward page=”{relativeURL |<%=expression%>}” />
可使用如下语法:
复制代码 代码如下:
<jsp:forward page=”{relativeURL |<%=expression%>}”>
{<jsp:param…/>}
</jsp:forward>
第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest 类的 getParameter方法获取。
2、include指令,它是一个动态的指令,可以用于导入某个页面。它的导入会每次检查被导入页面的改变。下面是include指令的使用格式:
复制代码 代码如下:
<jsp:include page=”{relativeURL |<%=expression%>}” flush=”true” />
或者:
复制代码 代码如下:
<jsp:include page=”{relativeURL |<%=expression%>}” flush=”true”>
<jsp:param name=”paramName” value=”paramValue”/>
</jsp:include>
flush 属性用于指定输出缓存是否转移到被导入文件中。如果指定为剧。则包含在被导入文件中;如果指定为false,则包含在原文件中。对于JSP 1.1以下的旧版本,只能设置为false。
<include>和<jsp:include>分别为静态导入和动态导入。他们的的区别:静态导入是将被导入页面的代码完全插入,两个页面生成一个整体的 Servlet; 而动态导入则在 Servlet 中使用动态导入,从而将页面引入。
3、 useBean、setProperty和getProperty指令
这三个指令都是与JavaBean相关的指令,其中useBean用于在jsp页面初始化一个java实例,setProperty用于修改JavaBean实例的属性,getProperty用于获取JavaBean实例的属性。
useBean的语法格式:
复制代码 代码如下:
<jsp:useBean id=”” class=”” scope=”page | request |session | application” >
Id是JavaBean的实例名,class属性确定JavaBean的实现类。Scope属性确定生存范围【页面、请求、会话、应用】
setProperty的语法格式:
复制代码 代码如下:
<jsp:setProperty name=”” property=”” value=”” />
Name属性确定需要设定
4、 plugin指令
plugin 指令主要用于下载服务器端的 JavaBean 或 Applet 到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。
plugin 的语法格式如下:
复制代码 代码如下:
<jsp:plugin type=”bean | applet"
code="classFileName"
codebase="classFileDiretoryName"
[name=" instanceName"]
[archive="URLtoArchive"]
[align= "bottom I top I middle I left I right"]
[heigh="displayPixels"]
[width="displayPixels"]
[hspace="leftRightPixels"]
[vspace="topBottomPiexels"]
[jreversion=JREVersionNumber|1.2"]
[nspluginurl="URLToPlugin"]
[iepluginurl="URLToPlugin"]>
[<jsp:parames>
[jsp:param name="parameterName" value="parameterValue" />]
</jsp:params>]
[<jsp:fallback>text message for user that can no see the plugin
</jsp:fallback> ]
</jsp:plugin>
这些属性的说明如下:
Type: 指定被执行的java程序的类型,是一个bean还是一个applet
Code: 指定被执行的文件名,该属性值必须以“.class”扩展名结尾
Codebase: 指定被执行的文件目录。
Name: 给该程序起一个名字用来标识该程序。
Archive: 指向一些要预先载入的将要使用到的类的路径。
Hspace,Vspace: 显示左右上下的留白。
jreversion: 能正确运行改程序必须的JRE版本。
Nsplugin,ieplugin: Netscape Navigator, Internet Exploer 下载运行所需JRE 的地址。
<jsp:fallback>指令:当不能正确显示该applet时,代替显示的提示信息。
5、 param指令
param指令用于设置参数值,这个指令本身不能单独使用,因为单独使用没有意义。它可以和以下几个指令合起来使用
jsp:include
jsp:forward
jsp:plugin
相关推荐:
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
为什么“360收录”是你网站推广的必备利器,seo亚马逊
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
seo网络上什么意思,seo表示什么 ,如何避免今日头条ai写作检测
ChatGPT点不了?背后的真相与解决方法,ai.520523
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
ChatGPT中文版下载免费版:智能对话新时代,尽在,ai光波
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
ChatGPT怎么打开不了?全方位解决方案!,大庆ai
SEO客服:如何提升客户体验与业务转化的双赢策略,鄂州网站建设公司教程
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
SEO优化需要给网站做哪些优化工作?,ai捕捉火苗
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
OpenAI银行卡扣款的公司是哪家?揭秘背后的支付流程与安全保障,AI素描相片
AI免费写文:创作新时代的高效助手
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
怎样使用AI写文章:释放创作潜能,提升写作效率
SEO攻略:搜索引擎优化,快速提升网站排名,网站推广网站优化费用
360AI写作怎样?助力创作的新风尚,ai到访
“多网建站”助力企业跨越发展,开启全新数字化时代,海南网站优化电池
AI免费生成文章让创作变得轻松自如
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
用AI写文章,释放你的创作潜力!
SEO利用:让你的网站快速登顶,获取更多流量与客户!,延边小程序推广平台网站
什么是seo手段,seo的具体手段 ,中国ai 企业
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
一秒采集:提升效率、创造价值的秘密武器,苏州网站整站优化
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
好用的AI智能工具,让生活与工作更高效!
AI文章精简-高效提炼与优化你的内容创作,ai quid
怎样用AI写文章?快速高效创作新技能!
SEO优化与SEM广告:提升品牌曝光与流量的双重利器,ai接回头
SEO短视:为何眼前的成效不能成为长久的策略?,网站上线seo优化
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
ChatGPT可以实现新闻报道的即时自动化生成,怎么更改ai2的图标
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
ChatGPT页面空白不乏登录:让你秒变职场高手与生活智囊,百度ai 腾讯ai
seo网站是什么找行者SEO,seo分析网站 ,ai图文梅花
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话