JSP基本语法

JSP基本语法

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import = "java.util.Date" %>
<%@ page import = "java.text.SimpleDateFormat" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Date date = new Date();
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String today = df.format(date);
%>
当前时间:<%=today %>
</body>
</html>

1-4行:指令标识

6-11行:HTML代码

12-16行:嵌入的java代码

其余:HTML代码

1、指令标识

语法格式:

<%@ 指令名 属性1 = "属性值1"······%>

在这里插入图片描述

1.1 page指令

page是jsp页面最常用的指令,用于定义整个jsp页面的相关属性,这些属性在jsp被服务器解析成servlet时会转换成相应的java程序代码,page指令格式如下:

<%@ page atr1 = "value1" %>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 include 指令

文件包含指令include是JSP的另一条指令标识。通过该指令可以在一个JSP页面中包含另一个JSP页面。不过该指令是静态包含,也就是说被包含文件中所有内容会被原样包含到该JSP页面中,即使被包含文件中有JSP代码,在包含时也不会被编译执行。使用include指令,最终将生成一个文件,所以在被包含和包含的文件中,不能有相同名称的变量。include指令包含文件的过程如图所示。

在这里插入图片描述

include语法格式:

<%@ include file = "path"%>

该指令只有一个file属性,用于指定要包含文件的路径。该文件可以是相对路径,也可以是绝对路径。但是不可以是通过<%=%>表达式所代表的文件

使用include指令包含文件可以大大提高代码的重用性,而且也方便以后的维护

1.3 taglib指令

在这里插入图片描述

2、脚本表示

2.1 jsp表达式

用于向页面中输出信息

<%= 表达式%>

注意:<%与=之间不可以有空格

表达式可以是任何java语言的完整表达式,该表达式的最终运算结果被转换为字符串

2.2 声明标识

声明标识用于在JSP页面中定义全局的变量或方法。通过声明标识定义的变量和方法可以被整个JSP页面访问,所以通常使用该标识定义整个JSP页面需要引用的变量或方法。

说明:服务器执行JSP页面时,会将JSP页面转换为Servlet类,在该类中会把使用JSP声明标识定义的变量和方法转换为类的成员变量和方法。

格式:

<%! 
    声明变量或方法的代码 
%>

2.3 代码片段

所谓代码片段就是在JSP页面中嵌入的Java 代码或是脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或是流程控制语句等;而通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问 session会话等。

格式:

<%
   java代码或是脚本代码
%>

说明:代码片段与声明标识的区别是,通过声明标识创建的变量和方法,在当前JSP页面中有效,它的生命周期是从创建开始到服务器关闭结束;而代码片段创建的变量或方法,也是在当前JSP页面中有效,但它的生命周期是页面关闭后,就会被销毁。

3、JSP注释

有:HTML中的注释、带有JSP表达式的注释、隐藏注释(在查看HTML源代码时看不到,所以安全性较高)、动态注释

4、动作标识

4.1 包含文件标识< jsp::include>

JSP的动作标识jsp:include用于向当前页面中包含其他的文件。被包含的文件可以是动态文件,也可以是静态文件。jsp:include动作标识包含文件的过程如图所示。

在这里插入图片描述

在这里插入图片描述

下面将对include指令与jsp:include动作标识的区别进行详细介绍:

(1) include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式;jsp:include动作标识通过page属性指定被包含的文件,而且page属性支持JSP表达式。
(2)使用include指令时,被包含的文件内容会原封不动地插入到包含页中,然后JSP编译器再将合成后的文件最终编译成一个Java文件;使用jsp:include动作标识包含文件时,当该标识被执行时,程序会将请求转发(注意是转发,而不是请求重定向)到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是多个文件,所以JSP编译器会分别对这些文件进行编译。
(3)在应用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含文件、包含文件中不能有重名的变量或方法;而在应用jsp:include动作标识包含文件时,由于每个文件是单独编译的,所以在被包含文件和包含文件中重名的变量和方法是不相冲突的。

4.2 请求转发标识< jsp:forward>

通过jsp:forward动作标识可以将请求转发到其他的Web资源,例如,另一个JSP页面、HTML页面、Servlet等。执行请求转发后,当前页面将不再被执行,而是去执行该标识指定的目标页面。执行请求转发的基本流程如图所示。

在这里插入图片描述

在这里插入图片描述

4.3 传递参数标识< jsp:param>

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值