开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发:JSP 基础语法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/27/detail/581
JSP 基础语法
内容介绍:
1. JSP 中的注释
2. Scriptlet,脚本小程序
3. page 指令
4. 导入指令
5. 跳转指令
JSP中的注释
显式注释:<!--HTML风格的注释,这些注释会发送到客户端-->
隐式注释:Java风格注释(//、/*..*/)、JSP风格注释(<%--JSP注释-%>),不会发送给客户端。
Scriptlet,脚本小程序
<%!%>:可以定义全局变量、全局常量、类、方法,但是从正常的开发角度,此处使用全局常量的机会较多。
等价于在一个类中定义全局变量、常量、内部类、方法
<%%>:可以定义局部变量、可以编写语句;
等价于在一个方法中定义的局部变量以及编写的语句;
<%=%>:表达式输出,等价于 out.println()
page 指令:定义当前页面的属性
pageEncoding:设置页面编码,一般都设置为 UTF-8 编码,请保证文件也是 UTF-8编码
contentType:设置 MIME 风格,以保证页面执行后的效果
language:默认 java
import:进行开发包导入,但为了保证页面的简洁性,不需要导入。
导入指令:在几乎所有的项目里都会存在导入的处理操作
静态导入,它采用的是先包含后处理的形式,因此如果被包含页存在有冲突的产量就会出现语法错误;<%@include file="路径"%>。
动态导入,属于先各自处理而后将最终的处理结果包含在一起,对于此类的形式有两种语法:
第一种语法:不传递任何的参数
<jsp:include page="路径"/>
第二种语法:传递参数到被包含页面
<jsp:include page="路径">
<jsp:param name="参数名称"value="内容"/>
<jsp:param name="参数名称"value="内容"/>
…
</jsp:include>
跳转指令:此处的跳转属于无条件跳转处理,即:执行之后会立刻进行跳转操作
第一种语法:不传递任何的参数
<jsp:forward page="路径"/>
第二种语法:传递参数
<jsp:forward page="路径">
<jsp:param name="参数名称"value="内容"/>
<jsp:param name="参数名称"value="内容"/>
…
</jsp: forward >
利用以上的方式传递的参数必须使用 request.getParameter() 方法进行接收控制,此方法返回 String,但如果没有参数传递,那接收的内容就是 null,如果对 null 使用Integer.parseInt()
则会出现 NumberFormatException:null 的错误提示信息。
注意:
对于 forward 跳转操作,最为重要的一点是可以传递 request 属性。