5.3 脚本标识
在JSP页面中,脚本标识使用得最为频繁。因为它们能够很方便、灵活地生成页面中的动态内容,特别是Scriptlet脚本程序。JSP中的脚本标识包括3部分,即JSP表达式(Expression)、声明标识(Declaration)和脚本程序(Scriptlet)。通过这些标识,在JSP页面中可以像编写Java程序一样来声明变量、定义函数或进行各种表达式的运算。下面将对这些标识进行详细介绍。
5.3.1 JSP表达式
JSP表达式用于向页面中输出信息,其语法格式如下:
<%= 表达式%>
参数说明:
表达式:可以是任何Java语言的完整表达式。该表达式的最终运算结果将被转换为字符串。
注意
<%与=之间不可以有空格,但是=与其后面的表达式之间可以有空格。
【例5.13】 使用JSP表达式在页面中输出信息。示例代码如下:
说明
JSP表达式不仅可以插入网页的文本中,用于输出文本内容,也可以插入HTML标记中,用于动态设置属性值。
5.3.2 声明标识
声明标识用于在JSP页面中定义全局的变量或方法。通过声明标识定义的变量和方法可以被整个JSP页面访问,所以通常使用该标识定义整个JSP页面需要引用的变量或方法。
说明
服务器执行JSP页面时,会将JSP页面转换为Servlet类,在该类中会把使用JSP声明标识定义的变量和方法转换为类的成员变量和方法。
声明标识的语法格式如下:
<%! 声明变量或方法的代码 %>
注意
<%与!之间不可以有空格,但是!与其后面的代码之间可以有空格。另外,<%!与%>可以不在同一行,例如,下面的格式也是正确的。
<%!
声明变量或方法的代码
%>
【例5.14】 通过声明标识声明一个全局变量和全局方法。
通过上面的代码声明全局变量和全局方法后,在后面如果通过<%=count()%>调用全局方法,则每次刷新页面,都会输出前一次值+1的值。
5.3.3 代码片段
所谓代码片段就是在JSP页面中嵌入的Java代码或是脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或是流程控制语句等;而通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问session会话等。代码片段的语法格式如下:
<% Java代码或是脚本代码 %>
代码片段的使用比较灵活,它所实现的功能是JSP表达式无法实现的。
说明
代码片段与声明标识的区别是,通过声明标识创建的变量和方法,在当前JSP页面中有效,它的生命周期是从创建开始到服务器关闭结束;而代码片段创建的变量或方法,也是在当前JSP页面中有效,但它的生命周期是页面关闭后,就会被销毁。
【例5.15】 通过代码片段和JSP表达式在JSP页面中输出九九乘法表。(实例位置:资源包\TM\sl\5\3)
编写一个名称为index.jsp的文件,在该页面中,先通过代码片段将输出九九乘法表的文本连接成一个字符串,然后通过JSP表达式输出该字符串。index.jsp文件的代码如下:
运行程序,将显示如图5.5所示的结果。
图5.5 在页面中输出九九乘法表