在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. EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体服务器,EasyPlayer手机播放器

    在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 Ea ...

  2. mybatis学习总结(一)——简介

    基本构成 SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口) SqlSessionFactory:依靠工厂来生成S ...

  3. spring mvc 设置设置默认首页的方式

    背景: 项目使用springmvc管理请求,有一个小的需求,输入域名的时候自动进入某个页面(或者说自动发起某个请求). 过程: 1,首先想到 在web.xml中配置welcome-file-list的 ...

  4. Sping中的配置Bean详解

    一.spring实例化对象的方法 在Spring中,所有管理的对象都是JavaBean对象,而BeanFactory和ApplicationContext就是spring框架的两个IOC容器,现在一般 ...

  5. javaweb开发之EL表达式

    一.EL简介 EL全名为Expression Language,它主要用于替换JSP页面中的脚本表达式<%= %>,从各种类型的Web域中检索Java对象.获取数据.它可以很方便地访问Ja ...

  6. extjs中新建窗体时,给窗体添加背景图片不显示问题之一

    1.在extjs中新建窗体时,给窗体添加背景图片不显示,例如下面的代码. 不显示的原因:因为设置了  layout: 'fit', Ext.create('Ext.Window', { title: ...

  7. eclipse中怎么删除重复的console

    eclipse中不同的应用会开启不同的console,所以并不是重复. 如图: Terminate标志/操作按钮,可以停止当前的执行,以及标志此Console是Terminated状态: Remove ...

  8. Linux就该这么学--命令集合1(常用系统工作命令)

    1.用echo命令查看SHELL变量的值(前面有$符号): echo $SHELL 2.查看本机主机名: echo $HOSTNAME 3.查看当前的系统时间: date 4.按照“年-月-日 时:分 ...

  9. Vue源码探究-状态初始化

    Vue源码探究-状态初始化 Vue源码探究-源码文件组织 Vue源码探究-虚拟DOM的渲染 本篇代码位于vue/src/core/instance/state.js 继续随着核心类的初始化展开探索其他 ...

  10. Python序列——元组

    元组是什么 1 创建元组 2 访问元组中的值 3 更新元组中的元素 4 删除元组中的元素或者元组本身 元组相关操作 内建函数对元组的支持 1 序列类型函数 2 元组内建函数 元组的特殊性 1. 元组是 ...