jsp java语法_JSP基础语法

Java JSP 的 JSP基础语法

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

为了方便演示,使用Eclipse创建一个动态Web项目:jspsyntax,用于运行以下涉及到的示例代码。

JSP的元素

JSP的元素如下所述:

1.小脚本

小脚本(scriptlet)可以将任何数量的小脚本包含在页面中,小脚本是有效的JAVA语言语句,变量或方法声明或表达式。

以下是小脚本的语法 -

可以将上述语法编写为XML的形式,效果相同,如下所示:

code fragment

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

文件:helloworld.jsp -

pageEncoding="UTF-8"%>

Hello World

Hello World!

out.println("Your IP address is " + request.getRemoteAddr());

%>

执行上面示例代码,得到以下结果 -

634f5a1dcfd1b0d726b490f8075a92f3.png

2.JSP声明

声明一个或多个变量或方法,可以在Java代码中编写,之后在JSP文件中使用。 在JSP文件中使用该变量或方法之前,必须先声明变量或方法。

以下是JSP声明的语法 -

可以将上述语法编写为XML的形式,效果相同,如下所示:

code fragment

以下是JSP声明的示例 -

3.JSP表达式

JSP表达式元素包含一个脚本语言表达式,它被评估求值,转换为一个字符串,并插入到表达式显示在JSP文件中的指定输出位置。

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

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

以下是JSP表达式的语法 -

可以将上述语法编写为XML的形式,效果相同,如下所示:

expression

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

文件:express.jsp -

A Comment Test

Today's date:

上述代码将产生以下结果 -

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

4.JSP注释

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

以下是JSP注释的语法 -

以下示例显示了JSP注释 -

A Comment Test

A Test of Comments

上述代码将产生以下结果 -

A Test of Comments

可以使用少量特殊结构,在各种情况下可以插入特别处理的注释或字符。下面是一个总结 -

编号

语法

说明

1

JSP注释,它会被JSP引擎忽略。

2

HTML注释,它会被浏览器忽略。

3

表示静态的

4

%\>

表示静态的%>字面值。

5

\'

表示静态的单引号'字面值。

6

\"

静态的单引号"字面值。

5.JSP指令

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

有三种类型的指令标签 -

编号

指令

描述

1

定义页面相关属性,如脚本语言,错误页面和缓冲要求等。

2

在编译阶段包括文件。

3

声明页面中使用包含自定义操作的标签库

我们将在另一章专门介绍JSP指令 -

6.JSP动作

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

只有一个用于动作元素语法,因为它符合XML标准 -

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

编号

动作

描述

1

jsp:include

在请求页面时包含一个文件。

2

jsp:useBean

查找或实例化一个JavaBean。

3

jsp:setProperty

设置JavaBean属性的值。

4

jsp:getProperty

将JavaBean属性的值输出。

5

jsp:forward

将请求者转发到新页面。

6

jsp:plugin

生成针对Java插件创建OBJECT或EMBED标记的特定于浏览器的代码。

7

jsp:element

动态定义XML元素。

8

jsp:attribute

定义动态定义的XML元素属性。

9

jsp:body

定义动态定义的XML元素的正文。

10

jsp:text

用于在JSP页面和文档中编写模板文本。

我们将在单独的章节解释JSP动作 -

7.JSP隐式对象

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

编号

对象

描述

1

request

这是与请求相关联的HttpServletRequest对象。

2

response

这是与客户端的响应关联的HttpServletResponse对象。

3

out

这是用于将输出发送到客户端的PrintWriter对象。

4

session

这是与请求相关联的HttpSession对象。

5

application

这是与应用程序上下文相关联的ServletContext对象。

6

config

这是与该页面相关联的ServletConfig对象。

7

pageContext

它封装了使用服务器特定的功能,如更高性能的JspWriter对象。

8

page

这只是一个同义词,用于调用由编译的servlet类定义的方法。

9

Exception

异常对象允许指定的JSP访问异常数据。

我们将在单独的章节讲解JSP隐式对象 - 。

8.控制流程语句

在JSP编程中使用Java的所有API和构建块,包括决策语句,循环等。如:if,if..else等语句。

9.决策语句

if...else块开始像一个普通的小脚本,但是小脚本在每一行都会被闭合,并且包含小脚本标签在HTML文本中。参考以下示例代码 -

文件:ifelse.jsp -

pageEncoding="UTF-8"%>

IF...Else示例

if (day == 1 | day == 7) {

%>

今天是周末,不用上班,Oyes ~

} else {

%>

今天是工作日,乖乖去上班 ~

}

%>

上述代码将产生以下结果 -

8d15823e89e969fb6bdefc00536c10a4.png

现在看看下面的switch...case块,对于不同选项匹配使用out.println()输出不同结果 -

SWITCH...CASE Example

switch(day) {

case 0:

out.println("It\'s Sunday.");

break;

case 1:

out.println("It\'s Monday.");

break;

case 2:

out.println("It\'s Tuesday.");

break;

case 3:

out.println("It\'s Wednesday.");

break;

case 4:

out.println("It\'s Thursday.");

break;

case 5:

out.println("It\'s Friday.");

break;

default:

out.println("It's Saturday.");

}

%>

上述代码将产生以下结果 -

It's Saturday.

10.循环语句

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

下面来看看for循环语句的示例 -

pageEncoding="UTF-8"%>

For循环语句示例

for (fontSize = 1; fontSize <= 5; fontSize++) {

%>

JSP教程

}

%>

上述代码将产生以下结果 -

b5b3721bb8a220b24f20f30501eb4ecb.png

以上示例可以使用while循环编写,代码如下:

pageEncoding="UTF-8"%>

While循环语句示例

while (fontSize <= 5) {

%>

JSP教程

fontSize++;

%>

}

%>

上述代码将产生以下结果 -

c4766295fc3446fd018b7f92d5222957.png

11.JSP运算符

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

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

分类

运算符

关联性

后缀

() [] .

左到右

一元运算符

++ -- ! ~

右到左

乘法

* / %

左到右

加法

+ -

位移

>> >>> <<

左到右

关系

> >= < <=

左到右

等于

== !=

左到右

按位与

&

左到右

按位异或

^

左到右

按位或

c9c055a1874fe69323b84b60e9a5f8c1.png

左到右

逻辑与

&&

逻辑或

17c4b92f2a2ed85a44fe4e88edeb7fee.png

左到右

条件

?:

右到左

分配

= += -= *= /= %= >>= <<= &= ^=

右到左

逗号

,

左到右

12.JSP文字

JSP表达式语言定义了以下文字 -

布尔 - true和false

整数 - 与Java中的一样。

浮点 - 与Java中的一样。

字符串 - 带单引号和双引号; "被转义为\",'被转义为\',\被转义为\\。

空 - null

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS - Core Animation 核心动画

1、UIView 动画 具体讲解见 iOS - UIView 动画2、UIImageView 动画 具体讲解见 iOS - UIImageView 动画3、CADisplayLink 定时器 具体讲解见 iOS - OC NSTimer 定时器CADisplayLink 是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的…

navicat 官方使用手册,中文版,快捷键大全

2017年1月23日09:52:51 这个官方中文文档很详细 https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html https://community.navicat.com/videos/cn 官方中文论坛部分视频教程 快捷键 Navicat 主窗口 键动作CTRLG设置位置文件夹CTRL#&#xff08;#…

Linux inode与文件系统关系

inode只有在linux文件系统的概念&#xff08;ext3,ext4) 、inode节点数量与文件存储的关系。 二、在文件系统初始化时设置合适的节点数量。 linux服务器在存储文件小而数量多的情况下&#xff0c;需要考虑inode用完的情况。转载于:https://www.cnblogs.com/lirunzhou/p/5883706…

评分系统 java_C自动评分系统

我无法按照规范完成作业 . 这是分配方案&#xff1a;大学迫切需要一个自动测试评分系统 . 使用C&#xff0c;为大学写一个评分系统&#xff0c;并对至少五名学生的测试进行评分 . 要创建评分系统&#xff0c;请按照以下步骤操作&#xff1a;首先询问测试中的问题数量然后询问每…

当Terraform遇上ECS(一)——DataSource篇

背景 越来越多的公司已经熟知并运用“基础设施即代码”来构建和维护自己的云基础设施。目前也有许多的自动化构建工具协助用户通过脚本进行云资源的部署和生命周期的管理&#xff0c;如&#xff1a;Terraform、Ansible、Chef等。但是&#xff0c;在实施过程中&#xff0c;都遇到…

【BZOJ 1597】 [Usaco2008 Mar]土地购买 (斜率优化)

1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3601 Solved: 1322Description 农夫John准备扩大他的农场,他正在考虑N (1 < N < 50,000) 块长方形的土地. 每块土地的长宽满足(1 < 宽 < 1,000,000; 1 < 长 < 1,000,000). …

深入浅出学java_《深入浅出学JAVA开发初级》

整体说明&#xff1a;Java私塾的这一套视频是完全真实课堂录制&#xff0c;实际上课时间为十一天&#xff0c;主要内容包括&#xff1a;1&#xff1a;系统完整的学习Java的基础知识2&#xff1a;深入剖析重点知识点的理论3&#xff1a;超多的编程题目和程序讲解4&#xff1a;最…

重定位与链接脚本

1.为什么需要重定位   位置无关编码(PIC&#xff0c;position independent code)&#xff1a;汇编源文件被编码成二进制可执行程序时编码方式与位置&#xff08;内存地址&#xff09;无关。  位置有关编码&#xff1a;汇编源码编码成二进制可执行程序后和内存地址是有关的。…

Linux bashrc和profile的用途和区别

导读使用终端ssh登录Linux操作系统的控制台后&#xff0c;会出现一个提示符号&#xff08;例如&#xff1a;#或~&#xff09;&#xff0c;在这个提示符号之后可以输入命令&#xff0c;Linux根据输入的命令会做回应&#xff0c;这一连串的动作是由一个所谓的Shell来做处理。Shel…

python读取word文档结构图_Word 有什么技巧,让你相见恨晚?

Word作为日常办公最常用的软件之一&#xff0c;其实真没你想得那么简单&#xff01;你不知道的每一个技巧&#xff0c;都会让你相见恨晚&#xff01;每当身边的小伙伴询问这些疑难杂症时&#xff0c;我都会抛出这张图…真的没骗你&#xff0c;我们遇到的 99% 的Word难题&#x…

Golang 特性简介

by sheepbao 主要大概介绍go语言的历史和特性&#xff0c;简单的入门。 来历 很久以前&#xff0c;有一个IT公司&#xff0c;这公司有个传统&#xff0c;允许员工拥有20%自由时间来开发实验性项目。在2007的某一天&#xff0c;公司的几个大牛&#xff0c;正在用c开发一些比较繁…

HTML实体字符转化为HTML标签

html_entity_decode方法 参数描述string必需。规定要解码的字符串。flags 可选。规定如何处理引号以及使用哪种文档类型。 可用的引号类型&#xff1a; ENT_COMPAT - 默认。仅解码双引号。ENT_QUOTES - 解码双引号和单引号。ENT_NOQUOTES - 不解码任何引号。规定所使用文档类型…

华为2017java笔试题_2017年java华为面试题

2017年java华为面试题通过HCNP认证&#xff0c;将证明您对中小型网络有全面深入的了解&#xff0c;掌握中小型网络的通用技术&#xff0c;并具备独立设计中小型网络以及使用华为路由交换设备实施设计的能力。下面是小编收集的关于java华为面试题&#xff0c;希望大家认真阅读!1…

Tomcat 配置详解/优化方案

Server.xml 【原地址&#xff1a;http://blog.csdn.net/cicada688/article/details/14451541】 Server.xml配置文件用于对整个容器进行相关的配置。 <Server>元素&#xff1a;是整个配置文件的根元素。表示整个Catalina容器。 属性&#xff1a;className&#xff1a;实现…

MySQL创建数据库与创建用户以及授权

1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 采用create schema和create database创建数据库的效果一样。 2、create user [用户名称]% identified by [用户密码];--创建用户 密码8位以上&#xff0c;包括&#xff1a;大写…

java 防止url重复请求_Web项目如何防止客户端重复发送请求

在Web项目中&#xff0c;有一些请求或操作会对数据产生影响(比如新增、删除、更新)&#xff0c;针对这类请求一般都需要做一些保护&#xff0c;以防止用户有意或无意的重复发起这样的请求导致的数据错乱。本文总结了一些防止客户端重复发送请求的方法。方法一&#xff1a;JS监听…

【bzoj1010-toy】斜率优化入门模板

dsy1010: [HNOI2008]玩具装箱 【题目描述】 有n个数&#xff0c;分成连续的若干段&#xff0c;每段&#xff08;假设从第j个到第i个组成一段&#xff09;的分数为 (X-L)^2&#xff0c;X为j-iSigma(Ck) i<k<j&#xff0c;其中L是一个常量。目标&#xff1a;各段分数的总和…

itellyou操作系统,office等软件的很全的下载站

itellyou操作系统&#xff0c;office等软件的很全的下载站http://www.itellyou.cn/转载于:https://blog.51cto.com/wangheyu1/1894724

矩阵的马鞍点

#include<stdio.h>#define n 4//马鞍点是第I行值最小第J列值最大 void maxmin(int a[n][n]){ int i,j ,flag; int max[n],min[n]; for(i0;i<n;i) { min[i]a[i][0];//将数组每行的第一个元素赋值给min[]数组 for(j1;j<n;j) { if(a[i][j]<min[i]) min[i]a[i][j];…