注释
1、显式注释
客户端可以看到的注释
1、继承HTML风格的注释 <!-- html注释 -->
2、隐式注释
客户端无法看到的注释
1、JSP自己的注释 <%-- jsp注释 --%> <%-- 这是jsp的注释 --%>
3、继承Java风格注释 // 单行注释 /多行注释/
Scriptlet
Scriptlet(脚本小程序),所有嵌入在 HTML 代码中的 Java 程序都必须使用 Scriptlet 标记出来.
三种Scriptlet代码:
<%–
<% // java脚本段 %>
–%>
1、<% %>
java脚本段,生成的代码在servlet的service方法体中,变量是局部变量
<%–
<%! // 声明全局变量,方法、类等 %>
–%>
2、<%! %>>
声明全局变量、方法、类等,生成的代码在servlet类体中
<%–
<%=变量名、字面量 %>
–%>
3、<%= %>
表达式,输出表达式,可以输出变量名、字面量,生成的代码在servlet的service方法体中
JSP指令
page指令
language:支持的语言,目前只有java
contentType:响应类型及编码格式
pageEncoding:字符编码
import:导包,只有该属性可以同时设置多次
errorPage:当页面报错时要跳转的页面,一般与isErrorPage属性一起使用,且跳转的页面的isErrorPage属性设置为true
isErrorPage:是否是处理错误的页面,默认是false。一般与errorPage属性一起使用
注:页面的编码以charset的值为准;若charset未设置,则以pageEncoding为准;若两者都未设置,则使用默认编码ISO-8859-1
include静态包含
include静态包含
格式:<%@include file=“文件路径” %> 相对路径
file属性支持表达式去取值
特点:
只会生成一个源码文件,相当于直接将内容拷贝进来,所以不能有同名变量。
运行效率高一点点。耦合性较高,不够灵活。
include动态包含
语法:<jsp:include page="要包含的文件路径"></jsp:include>
page属性支持表达式去取值
特点:
生成多个源码文件,相当于方法的调用,可以有同名变量。
耦合度低,比较灵活,效率高。
注:
1、<jsp:include>双标签之间不能有任何内容(除非有参数)
Expecting "jsp:param" standard action with "name" and "value" attributes
2、动态包含可以传递参数
<jsp:param name="参数名" value="参数值"/>
获取参数使用:request.getParameter(name)
value属性支持表达式,name属性不支持
The name attribute of the jsp:param standard action does not accept any expressions