JSP语法

① 注释元素 (Comments Elements)

1. <!-- comment [<%= expression >] --> 标准的HTML注释。JSP容器会将该注释发往客户端浏览器,但不在浏览器中显示,可以在HTML源文件中查看。

comment - 注释内容 expression - 可选的java表达式,JSP容器会对表达式求值并将结果作为注释内容发往客户端

2. <%-- comment --%> JSP注释,JSP容器不会对该形式的注释进行编译,也不会将它发往客户端浏览器。

comment - 注释内容

3. // comment /* comment */ 标准java注释,只能包含在scriptlet中。容器不对该部分内容编译;也不会发送到客户端浏览器。

comment - 注释内容

② 脚本元素 (Scripting Elements)

1. <%! declaration %> 声明块,在该块内声明的java变量可以在声明处到本jsp页面结尾处的范围内使用。 jsp页面中类和方法的声明必须放在声明块内。

declaration - 要声明的变量、类或方法

2. <% scriptlet %> 脚本块,可以包含有效的java程序片段。

scriptlet - 标准java代码

3. <%= expression %> 表达式块,JSP容器会将表达式求值并输出到该位置。相当于<% out.print( expression ); %>。

expression - 标准java表达式,末尾不可以加分号

③ 指令元素 (Directives Elements)

1. <%@ page autoFlush="false" buffer="8" contextType="ctinfo" errorPage="error_url" extends="javax.servlet.jsp.HttpJspPage" import="import_list" info="comment" isELIgnored="true" isErrorPage="false" isThreadSafe="true" language="java" session="true" pageEncoding="ISO-8859-1" %> page指令设定整个JSP页面的属性和相关功能。

autoFlush="true|false" - 是否自动清除输出流缓冲区。如果该属性指定为false,输出流缓冲区满后会抛出异常 buffer="none|size in kb" - 设定输出流缓冲区大小。none禁用缓冲 contextType="ctinfo" - 设定MIME类型和JSP网页的编码方式,中文为"text/html;charset=GB2312" errorPage="error_url" - 设置页面发生异常时导向的页面 extends="class_name" - 设定JSP页面编译为servlet时的基类 import="import_list" - 导入java包,唯一可以重复出现的属性 info="text" - 设置本JSP页面的相关信息 isELIgnored="true|false" - 设置是否可以使用EL表达式 isErrorPage="true|false" - 设置本JSP页面是否为异常处理页面,只有异常处理页面才能使用exception对象 isThreadSafe="true|false" - 设置本页面是否可以响应多个请求 language="java" - 设置JSP容器编译本页面使用什么样的语言,目前只有java一种 session="true|false" - 设置是否在页面中启用session pageEncoding="ISO-8859-1" - 设置JSP页面的编码方式

2. <%@ include file="relativeURLspec" %> inclued指令用来静态包含另外一个文件,可以是HTML文件、JSP文件、文本文件或者一段java程序。

file="relativeURLspec" - 包含文件的路径

3. <%@ taglib uri="tagLibraryURI" tagdir="tagfile_dir" prefix="tagPrefix" %> taglib指令用来在页面中引入自定义标签。

uri="tag_library_uri" - 自定义标签库TLD文件的存放位置 tagdir="tag_file_dir" - tag文件的目录 prefix="tag_prefix" - 标签的前缀

④ 动作元素 (Action Elements)

1. <jsp:useBean id="id" spoce="page|application|request|session" class|beanName="class" type="type" /> 在页面中引入JavaBean,通常有如下应用形式: <jsp:userBean id="id" spoce="spoce" class="className" type="typeName" /> <jsp:userBean id="id" spoce="spoce" type="typeName" class="className" /> <jsp:userBean id="id" spoce="spoce" beanName="beanName" type="typeName" /> <jsp:userBean id="id" spoce="spoce" type="typeName" beanName="beanName" /> <jsp:userBean id="id" spoce="spoce" type="typeName">

id - javaBean实例化后的名字 class - 指定javaBean的类完全限定名 beanName - 代表javaBean的名字,通常利用java.beans.Beans类的instantiate()方法初始化 type - 指定Scripting变量定义的类型 spoce - 该javaBean的可视范围,可以是如下值: page -页面共享 application -应用程序共享 request -请求范围共享 session -会话共享

2. <jsp:setProperty name="beanID" property="propertyName" value|param="value" /> 通常放在useBean元素体内,用来为javaBean指定参数值,通常有如下应用形式: <jsp:setProperty name="beanID" property="*" /> <jsp:setProperty name="beanID" property="propertyName" /> <jsp:setProperty name="beanID" property="propertyName" param="paramName" /> <jsp:setProperty name="beanID" property="propertyName" value="value" />

name - 要设置的javaBean的ID property - 参数名称 value - 为属性指定值 param - 将属性的值设置为param指定的request变量的值

3. <jsp:getProperty name="beanID" propetry="property" /> 将指定的javaBean属性值写到输出流。

name - 要取得属性值的javaBean的实例化的名称 property - 要取得的属性的名字

4. <jsp:include page="page_url" flush="true|false" /> 动态包含一个文件到JSP页面。

page - 一个路径或一个java表达式,JSP容器会对表达式求值并将结果作为路径 flush - 是否自动清空被包含页面的输出流缓冲区

5. <jsp:forward page="page_url" /> 将客户端所发出的请求,从一个JSP页面转交给另外一个JSP页面,该动作标签后的scriptlet将不被执行。

page - 要导航的目标路径。可以是一个表达式,由容器求值后将结果作为路径

6. <jsp:param name="name" value="value" /> 只能配合<jsp:include>、<jsp:forward>和<jsp:plugin>使用,为这些动作标签提供request参数。

name - 指定提供的request参数的名称 value - 指定提供的request参数的值

7. <jsp:plugin type="bean|applet" code="classFileName" codebase="fileDirName" [name="instanceName"] [active="URIToArchive,..."] [align="bottom|top|middle|left|right"] [height="displayPixels"] [width="displayPixels"] [hspace="leftRightPixels"] [title="title"] [vspace="tipBottomPixels"] [iepluginurl="URLToPlugin"] [jreversion="JREVersion"] [nsplugurl="URLToPlagin"] /> 在页面中插入对象,生成的HTML标签是<object>或者<embed>。

type - 指定将被执行的对象类型,必须指定,没有默认值 code - 指定被Java Plugin执行的Java类名称,必须以.class结尾,并且必须在codebase指定的目录下 codebase - 指定Java类的路径,默认为JSP网页所在的路径 name - Bean或Applet的名字 active - 指定用于codebase目录下类装载器预装载的存档文件的路径,可以提高执行效率 align - 对齐方式 height - 以象素为单位的高度 width - 以象素为单位的宽度 hspace - 以象素为单位的左右补白的大小 vspace - 以象素为单位的上下补白的大小 title - 插件显示的标题 jreversion - 表示执行Applet或Bean所需的JRE的版本,默认为1.1 nspluginurl - 表示Netscape Navigator用户能够使用的JRE的下载地址 iepluginurl - 表示IE用户能够使用的JRE的下载地址

8. <jsp:params></jsp:params> 放在<jsp:plugin>动作标签体内,包含若干<jsp:param>,为插件提供参数。

9. <jsp:fallback>prompt Text</jsp:fallback> 放在<jsp:plugin>动作标签体内,当浏览器不支持插件时,显示该动作标签指定的文本信息。

11. <jsp:directive /> 指令元素的XML表示形式。有如下用法: <jsp:directive.page /> - 对应<%@ page %>指令 <jsp:directive.taglib /> - 对应<%@ taglib %>指令 <jsp:directive.include /> - 对应<%@ include %>指令

12. <jsp:declaration>declaration</jsp:declaration> 声明块的XML表示形式,对应于<%! declaration %>。

12. <jsp:scriptlet>scriptlet</jsp:scriptlet> 脚本块的XML表示形式,对应于<% scriptlet %>。

13. <jsp:expression>expression</jsp:expression> 表达式块的XML表示形式,对应于<%= expression %>。

14. <jsp:text></jsp:text> 在JSP Document中,输出template数据。

15. <jsp:output doctype-public="publicContext" doctype-root-element="rootName" doctype-system="systemContext" omit-xml-declaration="[true|false]|[yes|no]" /> 在JSP Docuemnt中,输出型如<!DOCTYPE rootName PUBLIC "publicContext" "systemContext"> 的文档类型声明。另外,还用于控制是否由JSP容器创建XML声明。

doctype-public - 指定XML文件文档类型声明的PUBLIC值 doctype-root-element - 指定要验证的XML文档的根元素的名称 doctype-system - 指定XML文件文档类型声明的SYSTEM值 omit-xml-declaration - 指定JSP容器是否创建一个默认的XML声明

16. <jsp:root version="1.2|2.0">

17. <jsp:attribute name="attributeName" trim="true|false">attributeValue</jsp:attribute> 主要有两个用途,一是在<jsp:element>动作标签中定义XML元素的属性;二是设定标准或自定义标签的属性。

name - 指定属性的名称 trim - 指定属性值前后的空白字符是否被忽略 attributeValue - 指定属性的值

18. <jsp:body>bodyText</jsp:body> 用来定义XML元素标签的文本内容,必须放在<jsp:element>动作标签体内。

19. <jsp:element name="elementName" /> 用来动态定义XML元素的标签。

name - XML元素标签的名称

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mukekeheart的iOS之旅

NDK 的开发流程

1、NDK开发所需要的工具 windows   需要在windows下的环境 把c代码打包成 手机能用的函数库   首先模拟手机的环境 1 N...

28080
来自专栏c#开发者

Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑

Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑 Asp.net Dynamic data提供了一些字段模板有比如在Det...

37250
来自专栏XAI

微信JSSDK接入Java版--步骤及问题处理和解决

微信JSSDKJava版接入--步骤及问题处理和解决 可以关注测试微信号,查看效果  服务器是个人的。请不要恶意攻击。 JSSDK使用步骤 http://mp...

2.1K110
来自专栏Android相关

处理器结构--ReorderBuffer

Reorder Buffer用来保存在乱序执行之前的(OOOE)指令执行顺序,当指令集合在乱序执行后按照原有指令顺序将结果提交。

19240
来自专栏赵俊的Java专栏

无限级菜单/权限树该如何设计

常用的树形显示插件有: JsTree, zTree, Layui Tree, Bootstrap Tree View 等。

88230
来自专栏芋道源码1024

面试问烂的 Spring AOP 原理

来源:https://www.jianshu.com/p/e18fd44964eb

26940
来自专栏用户2442861的专栏

muduo 4 网络库学习之Exception类、Thread 类封装中的知识点(重点讲pthread_atfork())

class Exception : public std::exception

19610
来自专栏黑泽君的专栏

day11_JSP+EL+JSTL学习笔记

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

19910
来自专栏软件开发

前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例

使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基...

47070
来自专栏owent

C++又一坑:动态链接库中的全局变量

前几天我们项目的日志系统出现了一点问题,但是一直没有时间去深究。 昨天在同事的帮助下,无意中猜了一种可能性,结果还真被我猜中了,于是今天就特别研究了一下,记录...

28530

扫码关注云+社区

领取腾讯云代金券