在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. 【BZOJ1467/2480】Pku3243 clever Y/Spoj3105 Mod EXBSGS

    [BZOJ1467/2480]Pku3243 clever Y/Spoj3105 Mod Description 已知数a,p,b,求满足a^x≡b(mod p)的最小自然数x. Input      ...

  2. EasyRTMP实现RTMP异步直播推送之环形缓冲区设计

    本文转自EasyDarwin团队kim的博客:http://blog.csdn.net/jinlong0603 EasyRTMP的推送缓冲区设计 EasyRTMP内部也同样采用的环形缓冲的设计方法,将 ...

  3. 九度OJ 1113:二叉树 (完全二叉树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5079 解决:1499 题目描述: 如上所示,由正整数1,2,3--组成了一颗特殊二叉树.我们已知这个二叉树的最后一个结点是n.现在的问题是 ...

  4. 在Win7创建WiFi热点

    1.在开始菜单搜索cmd 2.运行cmd 3.输入以下命令,注意:Your-WiFi-Name和Your-WiFi-Password分别为WiFi名称和密码 netsh wlan set hosted ...

  5. Jquery跨域调用

    今天在项目中须要做远程数据载入并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuer ...

  6. windows server安装oracle

    倒腾windows server的时候一定要先整net framework然后再安装oracle不然连不上或者装一下client 也能连上但是为了不安装client一定要先装framework!

  7. Oracle查询正在执行的SQL语句

    查看 Oracle 正在执行的 sql 语句以及发起的用户 SELECT b.sid oracleID, b.username 用户名, b.serial#, paddr, sql_text 正在执行 ...

  8. Looksery Cup 2015 C. The Game Of Parity —— 博弈

    题目链接:http://codeforces.com/problemset/problem/549/C C. The Game Of Parity time limit per test 1 seco ...

  9. (转)Java经典设计模式(3):十一种行为型模式(附实例和详解)

    原文出处: 小宝鸽 Java经典设计模式共有21中,分为三大类:创建型模式(5种).结构型模式(7种)和行为型模式(11种). 本文主要讲行为型模式,创建型模式和结构型模式可以看博主的另外两篇文章:J ...

  10. codeforces B. Coach 解题报告

    题目链接:http://codeforces.com/problemset/problem/300/B 题目意思:给出n个students(n%3 = 0),编号依次为1-n,接下来有m行,每行有两个 ...