📜  JSP-语法

📅  最后修改于: 2020-11-13 05:15:42             🧑  作者: Mango


在本章中,我们将讨论JSP中的语法。我们将了解JSP开发涉及的简单语法(即元素)的基本用法。

JSP的元素

JSP的元素如下所述-

脚本

脚本可以包含任意数量的JAVA语言语句,变量或方法声明或在页面脚本语言中有效的表达式。

以下是Scriptlet的语法-

您可以编写与上述语法等效的XML,如下所示:


   code fragment

您编写的任何文本,HTML标记或JSP元素都必须在scriptlet之外。以下是JSP的简单第一个示例-

Hello World
   
   
      Hello World!

注意–假设Apache Tomcat安装在C:\ apache-tomcat-7.0.2中,并且您的环境已根据环境设置教程进行了设置。

让我们将上面的代码保存在JSP文件hello.jsp中,然后将此文件放在C:\ apache-tomcat7.0.2 \ webapps \ ROOT目录中。使用URL http:// localhost:8080 / hello.jsp浏览相同的内容。上面的代码将产生以下结果-

你好,世界

JSP声明

声明声明了一个或多个变量或方法,您可以稍后在JSP文件中的Java代码中使用它们。在JSP文件中使用变量或方法之前,必须先声明该变量或方法。

以下是JSP声明的语法-

您可以编写与上述语法等效的XML,如下所示:


   code fragment

以下是JSP声明的示例-

JSP表达式

JSP表达式元素包含一种脚本语言表达式,该脚本语言表达式经过评估,转换为String,并插入该表达式出现在JSP文件中的位置。

由于表达式的值已转换为字符串,因此可以在JSP文件的一行文本中使用表达式,无论是否用HTML标记。

expression元素可以包含根据Java语言规范有效的任何表达式,但是您不能使用分号来结束表达式。

以下是JSP Expression的语法-

您可以编写与上述语法等效的XML,如下所示:


   expression

以下示例显示了JSP表达式-

A Comment Test 
   
   
      

Today's date:

上面的代码将产生以下结果-

Today's date: 11-Sep-2010 21:24:25

JSP评论

JSP注释标记了JSP容器应忽略的文本或语句。当您想隐藏或“注释掉” JSP页面的一部分时,JSP注释非常有用。

以下是JSP注释的语法-

以下示例显示了JSP注释-

A Comment Test 
   
    
      

A Test of Comments

上面的代码将产生以下结果-

A Test of Comments  

您可以在各种情况下使用少量特殊结构来插入注释或字符,否则将对其进行特殊处理。这是一个摘要-

S.No. Syntax & Purpose
1

<%– comment –%>

A JSP comment. Ignored by the JSP engine.

2

An HTML comment. Ignored by the browser.

3

<\%

Represents static <% literal.

4

%\>

Represents static %> literal.

5

\’

A single quote in an attribute that uses single quotes.

6

\”

A double quote in an attribute that uses double quotes.

JSP指令

JSP指令影响Servlet类的整体结构。它通常具有以下形式-

指令标记有三种类型-

S.No. Directive & Description
1

<%@ page … %>

Defines page-dependent attributes, such as scripting language, error page, and buffering requirements.

2

<%@ include … %>

Includes a file during the translation phase.

3

<%@ taglib … %>

Declares a tag library, containing custom actions, used in the page

我们将解释在一个单独的章节JSP指令JSP -指令

JSP动作

JSP操作使用结构在XML语法来控制Servlet引擎的行为。您可以动态插入文件,重用JavaBeans组件,将用户转发到另一个页面或为Java插件生成HTML。

Action元素只有一种语法,因为它符合XML标准-


动作元素基本上是预定义的功能。下表列出了可用的JSP操作-

S.No. Syntax & Purpose
1

jsp:include

Includes a file at the time the page is requested.

2

jsp:useBean

Finds or instantiates a JavaBean.

3

jsp:setProperty

Sets the property of a JavaBean.

4

jsp:getProperty

Inserts the property of a JavaBean into the output.

5

jsp:forward

Forwards the requester to a new page.

6

jsp:plugin

Generates browser-specific code that makes an OBJECT or EMBED tag for the Java plugin.

7

jsp:element

Defines XML elements dynamically.

8

jsp:attribute

Defines dynamically-defined XML element’s attribute.

9

jsp:body

Defines dynamically-defined XML element’s body.

10

jsp:text

Used to write template text in JSP pages and documents.

我们将在单独的章节“ JSP-动作”中解释JSP动作。

JSP隐式对象

JSP支持九个自动定义的变量,这些变量也称为隐式对象。这些变量是-

S.No. Object & Description
1

request

This is the HttpServletRequest object associated with the request.

2

response

This is the HttpServletResponse object associated with the response to the client.

3

out

This is the PrintWriter object used to send output to the client.

4

session

This is the HttpSession object associated with the request.

5

application

This is the ServletContext object associated with the application context.

6

config

This is the ServletConfig object associated with the page.

7

pageContext

This encapsulates use of server-specific features like higher performance JspWriters.

8

page

This is simply a synonym for this, and is used to call the methods defined by the translated servlet class.

9

Exception

The Exception object allows the exception data to be accessed by designated JSP.

我们将在单独的“ JSP隐式对象”一章中解释JSP隐式对象

控制流语句

您可以在JSP编程中使用所有API和Java构建块,包括决策语句,循环等。

决策声明

if … else块像普通的Scriptlet一样开始,但是Scriptlet在每一行都关闭,并且在Scriptlet标记之间包含HTML文本。

IF...ELSE Example 
   
   
      
         

Today is weekend

Today is not weekend

上面的代码将产生以下结果-

Today is not weekend

现在看下面的switch … case块,它已经使用out.println()和Scriptletas内部写了些不同-

SWITCH...CASE Example 
   
   
      
    
 

上面的代码将产生以下结果-

It's Wednesday.

循环语句

您还可以在Java中使用三种基本的循环块类型:JSP编程中的for,while和do…while块。

让我们看下面循环示例-

FOR LOOP Example 
   
   
      
         
            JSP Tutorial
      

上面的代码将产生以下结果-

JSP Tutorial



   JSP Tutorial



   JSP Tutorial

上面的示例可以使用while循环编写,如下所示-

WHILE LOOP Example 
   
   
      
         
            JSP Tutorial
         

上面的代码将产生以下结果-

JSP Tutorial



   JSP Tutorial



   JSP Tutorial

JSP运算符

JSP支持Java支持的所有逻辑和算术运算运算符。下表列出了所有优先级最高的运算符出现在表格顶部,而优先级最低的运算符出现在底部。

在表达式中,优先级较高的运算符将首先被评估。

Category Operator Associativity
Postfix () [] . (dot operator) Left to right
Unary ++ – – ! ~ Right to left
Multiplicative * / % Left to right
Additive + – Left to right
Shift >> >>> << Left to right
Relational > >= < <= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %= >>= <<= &= ^= |= Right to left
Comma , Left to right

JSP字面量

JSP表达式语言定义以下字面量-

  • 布尔值-对与错

  • 整数-如Java

  • 浮点-如Java

  • 字符串-用单引号和双引号引起来; “以\进行转义”,“以\”进行转义,并且\以\\进行转义。

  • -空