JSP 元素标签

JSP 标签

在本教程中,我们将学习 JSP 的基本标签以及如何在 JSP 中添加注释。除此之外,我们还将创建一个 JSP 并在服务器上运行该 JSP。

JSP 声明

  • 声明标签是用于声明变量、方法和类的 Java 代码。如果我们声明一个变量或方法在声明标签内,这意味着该声明在 servlet 类内但服务方法外进行。
  • 我们可以在声明标签内声明一个静态成员、一个实例变量(可以声明一个数字或字符串)和方法。

声明标签的语法

<%!  Dec var  %>

这里的 Dec var 是声明标签内的函数或变量。

示例

在此示例中,我们将使用声明标签

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

代码解释

第 10 行代码:这里我们使用声明标签将变量 count 初始化为 10。

当您执行上述代码时,您会得到以下输出

JSP Declaration

输出

在声明标签中声明的变量将作为输出打印。

JSP 脚本片段

  • 脚本片段标签允许在 JSP 文件中编写 Java 代码。
  • JSP 容器在生成 servlet 时将语句移至 _jspservice() 方法。
  • 对于客户端的每个请求,JSP 的 service 方法都会被调用,因此脚本片段内的代码将为每个请求执行。
  • 脚本片段包含在每次调用 JSP 时执行的 java 代码。

脚本片段标签的语法

<% java code %>

这里的 <%%> 标签是脚本片段标签,我们可以在其中放置 java 代码。

示例

在此示例中,我们使用了包含 Java 代码的脚本片段标签。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

代码解释

第 10-14 行代码:在脚本片段标签中,我们定义了两个变量 num1 和 num2。第三个变量 num3 用于将 num1 和 num2 相加。输出是 num3。

当您执行代码时,将得到以下输出

JSP Scriptlet

输出

脚本片段数字的输出是 50,这是 num1 和 num2 的和。

JSP 表达式

  • 表达式标签计算其中放置的表达式。
  • 它访问存储在应用程序中的数据。
  • 它允许创建算术和逻辑表达式。
  • 它生成无脚本的 JSP 页面。

语法

<%= expression %>

这里的表达式是算术或逻辑表达式。

示例

在此示例中,我们正在使用表达式标签

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

代码解释

第 12 行代码:这里我们使用表达式标签,通过将两个数字 num1 和 num2 相乘,然后加上第三个数字 num3。

当您执行上述代码时,您会得到以下输出

JSP Expression

输出

表达式数字是 120,我们将两个数字 num1 和 num2 相乘,然后将该数字与第三个数字相加。

JSP 注释

注释是 JSP 容器想要忽略某些文本和语句时使用的。

当我们要隐藏某些内容时,可以将其添加到注释部分。

语法

<% -- JSP Comments %>

这些标签用于在 JSP 中注释,并且会被 JSP 容器忽略。

<!—注释 –>

这是 HTML 注释,浏览器会忽略它

示例

在此示例中,我们正在使用 JSP 注释

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

代码解释

第 10 行代码:这里我们将 JSP 注释添加到代码中以解释代码。JSP 容器会忽略它。

当您执行上述代码时,您会得到以下输出

JSP Comments

输出

我们得到 println 方法中打印的输出。容器会忽略注释。

创建简单的 JSP 页面

  • JSP 页面有一个 HTML 主体,其中包含 Java 代码。
  • 我们将创建一个简单的 JSP 页面,其中包含声明、脚本片段、表达式、注释标签。

示例

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

代码解释

第 1 行代码:这里我们使用了 language、contentType 和 pageEncoding 等指令。Language 是 Java,Content Type 是 text/html,标准字符集为 ISO 8859。Page Encoding 是标准字符集。

第 11 行代码:这里我们使用 JSP 注释来添加 JSP 注释。

第 14 行代码:这里我们声明变量 num12 和 num32,并将它们初始化为 12。

第 15 行代码:这里我们使用表达式来计算两个数字 num12 和 num32 的乘积。

第 16 行代码:这里我们使用 date 对象获取今天的日期。

当您执行上述代码时,您会得到以下输出

Creating a simple JSP Page

输出

我们在这里打印,

  • 这是 guru JSP 示例。
  • 数字是 num12*num32 (12*12)。
  • 今天是当前日期

如何运行简单的 JSP 页面

  • JSP 可以在 Web 服务器或应用程序服务器上运行。
  • 在这里我们将使用一个 Web 服务器,并且可以将其部署在服务器中,将其封装在 war 应用程序中。
  • 我们可以创建一个应用程序(war)中的 JSP。

这是一个具有以下目录结构的应用程序,并且应用程序需要构建。

Run Simple JSP Page

这个应用程序需要构建,并且在构建成功后将出现以下消息。

Run Simple JSP Page

应用程序构建后,然后需要将其运行在服务器上。

要在 Web 服务器上运行 JSP,请右键单击 IDE 中的项目(在此例中使用的是eclipse),然后有许多选项。选择在服务器上运行的选项。下面截图所示:

从图中可以解释以下几点:

  1. 有两种选择:要么选择一个服务器,要么手动将服务器添加到此应用程序。在这种情况下,我们已经将 JBoss 服务器添加到应用程序中,因此我们选择现有的服务器。
  2. 选择服务器后,服务器选项显示在第 2 点,我们想要选择哪个服务器。此应用程序可以配置多个服务器。我们可以从所有这些选项中选择一个服务器。
  3. 选择该选项后,单击完成按钮,应用程序将在该服务器上运行。

Run Simple JSP Page

在下面的截图中,您可以看到我们的 JSP 程序已执行,并且测试应用程序已部署在 JBoss 服务器 中,并用红框标出。

Run Simple JSP Page

JSP 的目录结构

在目录结构中,有一个根文件夹,其中包含 WEB-INF 文件夹,其中包含所有配置文件和库文件。

JSP 文件位于 WEB-INF 文件夹之外。

Directory Structure of JSP

JSP 的目录结构

示例

在此示例中,有一个测试应用程序,其文件夹结构如下:

Directory Structure of JSP

摘要

  • 在本文中,我们了解了像表达式标签、脚本片段标签这样的语法元素,它们简化了 JSP 中的代码。
  • JSP 注释的使用。
  • 我们创建了一个简单的 JSP 页面并在服务器上运行了它。