在JSP页面中,脚本标识使用的最为频繁,因为他们能够方便、灵活地生成页面中的动态内容,特别是JSP程序代码块。JSP中的脚本标识包括3部分,即JSP声明区、JSP表达式和JSP程序代码块。通过这些标识,在JSP页面中可以像编写Java程序一样声明变量、定义函数或进行各种表达式运算。

JSP声明区

声明标识用于在JSP页面中定义全局的变量或方法。通过声明标识定义的变量和方法被整个JSP页面访问,所以通常使用该标识定义整个JSP页面需要引用的变量或方法。

服务器执行JSP页面时,会将JSP页面转换为Servlet类,在该类中会把JSP声明区中定义的变量和方法转换为成员变量和方法。

声明标识的语法格式如下:

<%! 声明变量或方法的代码 %>

"<%"与"!"之间不可以有空格,但是"!"与其后面的代码之间可以有空格,另外,"<%!"与"%>"可以不在同一行,例如,下面的格式也是正确的。

<%!

声明变量或方法的代码

%>

例:在JSP声明区声明一个全局变量和全局方法。

<%! int number = 0;

int count(){

number++;

return number;

}

%>

JSP表达式

JSP表达式用于向页面中输出信息,其语法格式如下:

<%= 表达式 %>

表达式可以使任何Java语言的完整表达式,该表达式的最终运算结果将被转换为字符串。

例:使用JSP表达式在页面中输出信息。

<%! String manager = "mr" %>      //定义保存管理员名的变量

管理员:<%= manager %>        //输出结果为:管理员:mr

<%= "管理员:" + manager %>       //输出结果为:管理员:mr

<%= 5+6 %>                   //输出结果为:11

JSP表达式不仅可以插入到网页的文本中,用于输出文本内容,也可以插入到HTML标记中,用于动态设置属性值。

JSP程序代码块

所谓JSP程序代码块,就是在JSP页面中嵌入的Java代码或是脚本的代码。JSP程序代码块将在页面请求处理期间被执行,通过Java代码可以定义变量或是流程控制语句等;而通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问session会话等。JSP程序代码块的语法格式如下:

<% Java代码或是脚本代码 %>

JSP程序代码块的使用比较灵活,它所实现的功能是JSP表达式无法实现的。

JSP程序代码块与JSP声明区的区别是:通过JSP声明区创建的变量和方法时在当前JSP页面中有效,它的生命周期是从创建开始到服务器关闭结束;JSP程序代码块创建的变量或方法,也是在当前JSP页面中有效,但它的生命周期是页面关闭后就会被销毁。

例:通过JSP程序代码块和JSP表达式在JSP页面中输出九九乘法表。

编写一个名为index.jsp的文件,在该页面中先通过JSP程序代码块将输出九九乘法表的文本连接成一个字符串,然后通过JSP表达式输出该字符串。index.jsp文件的代码如下:

<body>

<% String str = "";

for(int i = 1;i<=9;i++){

for(int j = 1;j<=i;j++){

str+=j+"*"+i+"="+j*i;

str+="&nbsp;&nbsp;";

}

str+="<br>";

}

%>

<%=str %>

</body>

启动服务器,在地址栏中输入localhost:8080/jsp_demo/index.jsp,浏览器将显示如图3所示的页面。

图3  index.jsp

IT兄弟连 JavaWeb教程 JSP语法的更多相关文章

  1. IT兄弟连 JavaWeb教程 JSP中的注释

    由于JSP页面由HTML.JSP.Java脚本等组成,所以在其中可以使用多种注释格式 HTML中的注释 HTML语言的注释不会被显示在网页中,但是在浏览器中选择查看网页源代码时,还是能够看到注释的信息 ...

  2. IT兄弟连 JavaWeb教程 JSP内置对象经典案例

    案例需求:使用MVC模式编写一个程序当发起一个deptList.do请求时在servlet中准备一个部门列表对象,把这个列表对象放入request作用域中,然后转发到deptlist.jsp,使用js ...

  3. IT兄弟连 JavaWeb教程 JSP内置对象1

    JSP内置对象定义 JSP提供了由容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,它们起到了简化页面的作用,JSP的内 ...

  4. IT兄弟连 JavaWeb教程 JSP内置对象2

    application对象 application对象用于保存所有应用程序中的公有数据.它在服务器启动时自动创建,在服务器关闭时销毁,当application对象没有被销毁时,所有用户都可以共享app ...

  5. IT兄弟连 JavaWeb教程 JSP中的三大指令

    指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中.也就是说,指令标识对于客户端浏览器是不接见的.JSP页面的指令标识与我们的身份证类似, ...

  6. IT兄弟连 JavaWeb教程 JSP动作指令

    JSP动作指令语法 JSP动作指令语法格式如下: <jsp:动作名 属性名1="属性值1" 属性名2="属性值2" ... %> JSP具体动作指令 ...

  7. IT兄弟连 JavaWeb教程 JSP定义

    JSP页面是指扩展名为.jsp的文件,在一个JSP页面中,可以包括指令标识.HTML代码.JavaScript代码.嵌入的Java代码.注释和JSP动作标识等内容.但这些内容并不是一个JSP页面所必须 ...

  8. IT兄弟连 JavaWeb教程 JSP内置对象经典面试题

    1.请说明cookie.request.session.application的作用域和声明周期? 并说明它们适用与什么场景? request的生命周期是一次请求.可以用于JSP表单提交数据. ses ...

  9. IT兄弟连 JavaWeb教程 JSP访问JavaBean

    在JSP网页中,既可以通过程序代码来访问JavaBean,也可以通过特定的JSP标签来访问JavaBean.采用后一种方法,可以减少JSP网页中的程序代码,使他更接近与HTML页面.下面介绍访问Jav ...

随机推荐

  1. 基于EasyIPCamera实现的数字网络摄像机IPCamera的模拟器IPC RTSP Simulator

    还记得去年在北京安博会上,看到一些厂家的展示台上,各种船舶.公路.车辆的高清视频直播,好奇这些数据是怎么接到现场的,现场成百上千家展台,不可能有那么大的带宽供应,细想数据肯定不是实时的,果然,盯着看了 ...

  2. leetcode题目解答报告(2)

    Pascal's Triangle 题目描述 Given numRows, generate the first numRows of Pascal's triangle. For example, ...

  3. 寻找JAVA_HOME find java

    more apache-flume-1.8.0-bin/bin/flume-ng # find java if [ -z "${JAVA_HOME}" ] ; then warn ...

  4. 20170228 交货单过账增强 MV50AFZ1

    MV50AFZ1   这个程序里面找个FORM 用户出口, FORM USEREXIT_SAVE_DOCUMENT_PREPARE.   用户出口如下: 例:需求: 开发要求:制作交货单的人员,需要同 ...

  5. 【C++基础学习】成员对象与对象数组

    第一部分 对象成员与对象数组 从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标. 接下来,定义一个对象数组cood和一 ...

  6. Windows程序设计(1)——Win32运行原理(三)

    进程控制 1 获得系统进程 2 终止当前进程 3 终止其他进程 4 进程控制 4.1 获得系统进程 使用toolhelp模块可以实现获取系统中当前运行当中的进程列表. 思路如下,使用CreateToo ...

  7. LightOJ1282 Leading and Trailing —— 指数转对数

    题目链接:https://vjudge.net/problem/LightOJ-1282 1282 - Leading and Trailing    PDF (English) Statistics ...

  8. docker中Ubuntu安装jdk1.8

    1.在宿主系统下载所需要的jdk版本的gz文件 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  9. Log4j输出格式控制--log4j的PatternLayout参数含义

      参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介 假设当前logger名字 ...

  10. 关闭页面,window.onunload事件未执行的原因

    1.问题描述: JS中定义widow.onunload= function(),页面关闭时,logout()函数未执行. window.onunload = function() { logout() ...