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 是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的…

【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;最…

Linux bashrc和profile的用途和区别

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

Golang 特性简介

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

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

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

java框架概念_java概念(2)

java概念(2)重载和重写重载&#xff1a;同一个类中&#xff0c;方法名相同&#xff0c;参数不同重写&#xff1a;父子类中&#xff0c;子类重新定义父类的方法多态​ 多态&#xff1a;同一种行为&#xff0c;不同的对象有不同的表现形式。​ 重载 编译时根据参数决定调用的方法…

CentOS(八)--crontab命令的使用方法

crontab命令常见于Unix和Linux的操作系统之中&#xff0c;用于设置周期性被执行的指令。该命令从标准输入设备读取指令&#xff0c;并将其存放于"crontab"文件中&#xff0c;以供之后读取和执行。 在Linux系统中&#xff0c;Linux任务调度的工作主要分为以下两类&…

有健忘症吗?

今天兴高采烈&#xff0c;早上空气不错&#xff0c; 但是骑自行车的我&#xff0c;还是得戴一个面罩。 半个小时后买了早餐&#xff0c; 一份炒粉、一豆浆&#xff0c;今天早上豆浆没有掉地上&#xff0c; 但是~~~~~~~~~~~~~~shit~~!~!~,居然忘记带要换的衣服了&#xff0c; …

下载java后缀的文件闪退_关于jarfile 打开闪退问题

后面才发现&#xff0c;原来是因为我把文件拖入了新建的文件夹&#xff0c;改变了路径&#xff0c;而且我的java环境没有配置好是全局变量&#xff0c;所以新建文件夹之后&#xff0c;就会出现找不到了路径&#xff0c;闪退的问题&#xff0c;&#xff0c;&#xff0c;还有就是…

java怎样写入五个人的成绩_用java输入5个学员姓名和分数,显示分数最高的学员姓名和分数?...

展开全部import java.util.Scanner;public class Student {private String stuname "";private float stuscore 0;public String getStuname() {e69da5e6ba9062616964757a686964616f31333335316633return stuname;}public void setStuname(String stuname) {this.s…

iOS 10 升级后无法真机测试 Could not find Developer Disk Image

&#xff0d;&#xff0d;&#xff0d;2016年9月20日更新 iOS 升级到10之后&#xff0c;你会发现无法进行真机测试了。这种情况我在iOS 8.4 、9.3更新的时候也遇到过。原因是Xcode 的DeviceSupport里面缺少了iOS 10的SDK。所以你可以选择将Xcode更新到最新版本就可以了&#xf…

java虚拟机参数优化_JAVA虚拟机JVM参数优化(2):垃圾收集算法选择

JAVA虚拟机JVM优化重要性&#xff0c;昨天JAVA虚拟机JVM参数优化(1)文章中已经描述&#xff0c;今天我们来讨论JAVA虚拟机在不同性能要求下如何选择三种垃圾收集算法。JVM内部结构如下图所示&#xff1a;串行收集用于单个线程执行垃圾收集的情况&#xff0c;在这种情况下相对它…

Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

2019独角兽企业重金招聘Python工程师标准>>> 互联网的发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对&#xff0c;分布式服务架构以及流动计算架构势在必行&#xff0c;Dubbo是一个分布式服务框架&#xff0c;在这种情况下诞生的…

java clicked_关于java:JComponents在调用mouseClicked()之后消失

我正在用Swing编写Java GUI程序。该界面如下所示&#xff1a;当用户单击右侧的图片之一时&#xff0c;我希望它的一个小的预览显示在左上角的橙色区域中。我通过SwingWorker线程从计算机上的目录中提取所有图像文件。在SwingWorker的done()方法中&#xff0c;我向每个对象添加了…

vim简单命令教程-firstblood

你想以最快的速度学习人类史上最好的文本编辑器VIM吗&#xff1f;你先得懂得如何在VIM幸存下来&#xff0c;然后一点一点地学习各种戏法。 Vim the Six Billion Dollar editor Better, Stronger, Faster. 学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文…

第三课、Qt的诞生和本质------------------狄泰软件学院

一、GUI用户界面元素 &#xff08;1&#xff09;、GUI应用程序是由固定的窗口元素所构成 &#xff08;2&#xff09;、操作系统提供了创建用户界面元素所需要的函数 &#xff08;3&#xff09;、各自功能不同的函数依次调用&#xff0c;从而创建出界面元素 &#xff08;4&#…

Spark RDD算子介绍

Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理、交互式查询&#xff08;Spark SQL&#xff09;、实时流处理&#xff08;Spark Streaming&#xff09;、机器学习&#xff08;Spark MLlib&#xff09;和图计算&#xff08;GraphX&#xff09;。 Spark是MapReduc…

java 写tb级文件_三管齐下!TB 级文件的上传性能瞬间被优化 100 倍!

作者 | 中华石杉责编 | 伍杏玲本文经授权转载石杉的架构笔记(ID&#xff1a;shishan100)这篇文章我们来看看&#xff0c;世界上最优秀的分布式文件系统HDFS&#xff0c;是如何对超大文件的上传做性能优化的&#xff1f;首先&#xff0c;我们还是通过一张图来看一下文件上传的大…