当前位置:网站首页>JSP基本语法
JSP基本语法
2022-08-04 08:58:00 【51CTO】
文章目录
- 1、脚本标识
- 1.1 、JSP表达式
- 1.2、声明标识
- 1.3 代码片段
- 2、注释
- 3、指令标识
- 4、动作标识
1、脚本标识
1.1 、JSP表达式
用于向页面中输出信息
语法格式:<%=表达式%>
表达式:可以是任意的java语言的完整表达式,最终结果转化为字符串
注意:<%与=之间不可以有空格,=和后边的内容可以有空格
1.2、声明标识
声明标识用于在JSP页面中定义全局的变量或方法
声明标识的语法格式:<%!声明变量或方法的代码%>
注意:<%与!之间不可以有空格,!和后边的内容可以有空格
1.3 代码片段
代码片段就是在JSP页面中嵌入的Java代码或是脚本代码。
语法格式:<% Java代码或是脚本代码%>
2、注释
2.1 HTML中的注释
语法格式:<!--注释文本-->
2.2 隐藏注释`
在浏览器中看不到,在查看HTML源代码的时候也看不到,注释的安全性比较高。
语法格式:<%--注释内容--%>
2.3 代码片段中的注释
和java代码注释相同
- 单行注释:// 开头、后面接注释内容
- 多行注释:
/*开头、*/结尾 - 提示文档注释:
/**开头、*/结尾
3、指令标识
主要作用是设定整个JSP页面范围内都有效的信息,被服务器解释执行的。对客户端浏览器不可见
语法格式:<%@ 指令名 属性1=“属性值” 属性2=“属性值”...%>
- 指令名:指定指令名称:page、include、taglib3
- 属性:指定属性名称,不同指令包含不同属性,一个指令中可以包含多个属性
- 属性值:指定属性值
3.1 page指令
jsp页面最常用的指令
语法格式:<%@ page 属性1="属性值1" 属性2=”属性值2"....%>
作用:定义整个jsp页面的相关属性。
- 1、language 属性:设置jsp支持的语言,目前只支持java
- 2、eextends 属性:设置jsp页面继承的java类。
- 3、import 属性:设置jsp导入的类包。
<%@ page import="java.util.*"%> - 4、pageEncoding 属性:定义jsp页面的编码格式 UTF-8或者GBK
- 5、contentType 属性:设置jsp页面的MIME类型和字符编码。
- 6、session 属性:指定jsp页面是否使用HTTP的session会话对象。
- 7、buffer 属性:设置jsp的out输出对象使用缓冲区大小默认是8KB。
- 8、autoFlush 属性,用于指定当缓冲区已满时,自动将缓冲区的内容输出到客户端
- 9、isErrorPage 属性 :将当前jsp页面设置成错误处理页面`<%@ page isErrorPage=“true” %>
- 10 、errorPage 属性:指定处理当前jsp页面异常错误的另一个jsp页面,指定的jsp错误处理页面必须设置isErrorPage属性为true。`
3.2 include指令
在一个jsp页面中包含另外一个jsp页面。包含的是静态的jsp页面、即使包含的jsp页面有JavaScript代码也不会被编译。最终生成一个文件、两个文件中不能有相同的变量。
语法格式:<%@ include file="path" %>
执行原理:

3.3 taglib
声明该页面所使用的标签库。引用标签库后、可以通过前缀来引用标签库中的标签。
语法格式:<%@ taglib prefix="tagPrefix" urli="tagURI" %>
- prefix属性:指定标签的前缀
- uri属性:指定标签库文件的存放位置。
4、动作标识
jsp的请求处理阶段按照在页面中出现的顺序执行的,用于实现某些特殊用途的标识(执行请求转发、包含其他文件、操作JavaBean等等)
4.1 操作JavaBean的动作标识
创建java实例并设置JavaBean各属性的值
useBean标识常用的属性
- id:创建的JavaBean实例的名称,就是一个实体对象。
- scope:范围,page、request、session、application
- class:完整的类名
- type:创建实例的类型,可以与class相同
- beanName:用于指定完整的类名
setProperty子标识常用属性
- name:指定JavaBean实例名称
- property:指定JavaBean中的属性。*代表该实体类的所有属性、可设置其他某些属性
- value:指定具体属性值
- param:指定request请求中的参数。
获取JavaBean实例各属性的值
语法格式:<jsp:getProperty name="JavaBean实例名” property=“属性名”/>
- name属性:与
<jsp:userBean>的id相同。指定JavaBean实例名。(实体对象名) - property属性:指定要获取的属性(就是实体类中的属性)
4.2 包含外部文件的动作标识
包含其它页面的文件、可以是动态文件、也可以是静态文件
- page属性:指定被包含文件的相对路径
- flush属性:设置是否刷新缓冲区。设置为true,当前页面输出使用缓冲区情况下,先刷新缓冲区,然后再执行包含工作。
- 子动作标识
<jsp:param>:用于向被包含的动态页面中传递参数。
4.3 执行请求转发的动作标识
当前页面不在执行,去执行指定的目标文件、实现页面跳转
语法格式:
- page属性:指定请求转发的目标页面
- 自动作标识:向转向的目标文件传递参数
执行原理:

4.4 设置参数的子动作标识
可以作为其他标识的子标识,用于为其他标识传递参数
语法格式:<jsp:param name="参数名" value=“参数值" />
- name属性:指定参数名称
- value属性:设置对应的参数值
边栏推荐
- yolo x 跑起来,详细的不行,且内含800错误解决办法
- Shared_preload_libraries cause many syntaxes not supported
- 户外徒步旅行
- Linux之Redis 缓存雪崩,击穿,穿透
- Oracle怎么获取当前库或者同一台服务器上某几个库的数据总行数?
- 请你谈谈网站是如何进行访问的?【web领域面试题】
- js - the first letter that appears twice
- 【云驻共创】HCSD 大咖直播–就业指南
- 关于Oracle RAC 11g重建磁盘组的问题
- cannot import name ‘import_string‘ from ‘werkzeug‘【bug解决】
猜你喜欢
随机推荐
大家好,请教一个问题啊,我们通过flinkcdc把Oracle数据同步到doris,目前的问题是,只
实现加载驱动、得到数据库对象、关闭资源的代码复用,将代码提取到相应的工具包里边。优化程序
recursive thinking
.NET深入解析LINQ框架(五:IQueryable、IQueryProvider接口详解)
IDEA引入类报错:“The file size (2.59 MB) exceeds the configured limit (2.56MB)
如何设计一个注册中心
金仓数据库KingbaseES客户端编程接口指南-JDBC(8. JDBC 元数据处理)
智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!
RL学习笔记(一)
Convert callback function to Flow
cannot import name ‘import_string‘ from ‘werkzeug‘【bug解决】
【论文笔记】Understanding Long Programming Languages with Structure-Aware Sparse Attention
How to write patents are more likely to pass?
户外徒步旅行
JMeter 常用的几种断言方法,你会几种呢?
推荐几种可以直接翻译PDF英文文献的方法
Linux Redis cache avalanche, breakdown, penetration
About Oracle RAC 11g rebuilding the disk group
grafana手册之可视化配置图表table
Linux之Redis 缓存雪崩,击穿,穿透









