📅  最后修改于: 2020-11-13 05:15:42             🧑  作者: Mango
在本章中,我们将讨论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文件中的Java代码中使用它们。在JSP文件中使用变量或方法之前,必须先声明该变量或方法。
以下是JSP声明的语法-
您可以编写与上述语法等效的XML,如下所示:
code fragment
以下是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注释-
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指令影响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操作使用结构在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支持九个自动定义的变量,这些变量也称为隐式对象。这些变量是-
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支持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表达式语言定义以下字面量-
布尔值-对与错
整数-如Java
浮点-如Java
字符串-用单引号和双引号引起来; “以\进行转义”,“以\”进行转义,并且\以\\进行转义。
空-空