注释、局部/全局代码块、脚本段语句、动静态引入、转发标签
Jsp的三种注释
Jsp的page指令
作用:配置jsp文件的转译相关的参数
使用:<%@page 属性名="属性值" 属性名="属性值"...%>
- language:声明jsp要被转译的语言
- import:声明转译的java文件要导入的包,不同的包使用逗号隔开
- pageEncoding:设置jsp文件的数据编码格式
- contentType=”text/html; charset=utf-8” 设置jsp数据响应给浏览器时,浏览器的解析和编码格式
- session:设置转译的servlet中是否开启session支持,默认开启,true表示开启,false表示关闭
- errorPage:设置jsp运行错误跳转的页面
- extends:设置jsp转译的java文件要继承的父类(包名+类名)
Jsp的局部、全局代码块&脚本段语句
Jsp的局部代码块
特点:局部代码块中声明的java代码会被原样转译到jsp对应的servlet文件的_JspService方法中,代码块中声明的变量都是局部变量
使用:<% java代码 %>
缺点:使用局部代码块在jsp中进行逻辑判断,书写麻烦,阅读困难
开发:servlet进行请求逻辑处理,使用jsp进行页面展现。
Jsp的全局代码块
特点:声明的java代码作为全局代码转译到对应的servlet类中
使用:<%! 全局代码 %>
注意:全局代码块声明的代码,需要使用局部代码块调用
Jsp的脚本段语句
特点:帮助我们快速的获取变量或者方法的返回值作为数据响应给浏览器
使用:<%=变量名或者方法%>
注意:不要在变量名或者方法后使用分号
位置:除jsp语法要求以外的任意位置
Jsp的静态引入和动态引入
静态引入
使用:<%@include file="要引入的jsp文件的相对路径" %>
特点:
- 会将引入的jsp文件和当前jsp文件转译成一个java(Servlet)文件使用
- 在网页中也就显示了合并后的显示效果
注意:
- 静态引入的jsp文化不会单独转译成java(Servlet)文件
- 当前文件和静态引入的jsp文件中不能够使用java代码块声明同名变量
动态引入
使用:<jsp:include page="要引入的jsp文件的相对路径"></jsp:include>
特点:
- 会将引入的jsp文件单独转译,在当前文件转译好的java文件中调用引入的jsp文件的转译文件
- 在网页中显示合并后的显示效果
注意:动态引入允许文件中声明同名变量
jsp的转发标签
使用:<jsp:forward page="要转发的jsp文件的相对路径"></jsp:forward>
特点:一次请求,地址栏信息不改变
注意:
- 在转发标签的两个标签中间除了写
<jsp:param name="str" value="aaa" />
子标签不会报错,其他任意字符都会报错 - name属性为附带的数据的键名,value为附带的数据内容
- 会将数据以?的形式拼接在转发路径的后面