3.2 JSP的脚本元素

在JSP页面中有三种脚本元素(Scripting Elements):声明、脚本和表达式。JSP2.0增加了EL表达式,作为脚本元素的另一个选择。

3.2.1 注释

在JSP页面中,可以有两种类型的注释(Comment):一种是HTML注释,这种注释可以在客户端看到;另一种是为JSP页面本身所做的注释,通常是给程序员看的,称为JSP注释。

(1)HTML注释

HTML注释的语法格式如下:<!--commnent-->

在HTML注释中,可以包含动态的内容,这些动态的内容将被JSP容器处理,然后将处理的结果作为注释的一部分,下面是一个例子:

<!--这是注释部分-->

<!--1+1=<%=1+1%>-->

在客户浏览器中,通过查看源文件,可以看到如下的输出:

<!--这是注释部分-->

<!--1+1=2-->

(2)JSP注释

JSP注释的语法格式如下:<%--commnent--%>

JSP容器完全忽略这种注释。这种注释对开发人员是非常有用的,可以在JSP页面中对代码的功能做注释,而不用担心会被发送到客户端。另外,在脚本段也可以使用Java语言本身的注释机制,例如:

<%//commnent%>

<%/∗commnent∗/%>

下面是一个使用JSP注释的例子:

<%--这是注释部分--%>

3.2.2 声明语句

声明(Declaration)用来在JSP页面中声明变量和定义方法。声明是以“<%!”开头,以“%>”结束的标签,其中可以包含任意数量的合法的Java声明语句,声明不会在当前的输出流中产生任何输出。下面是JSP声明的一个例子:

978-7-111-44234-9-Chapter03-3.jpg

3.2.3 脚本段

脚本段(Scriptlets)是在请求处理期间要执行的Java代码段,脚本段可以产生输出,并将输出发送到客户端,也可以是一些流程控制语句,脚本是以“<%”开头,“以%>”结束的标签。它的语法形式如下:

978-7-111-44234-9-Chapter03-4.jpg

978-7-111-44234-9-Chapter03-5.jpg

在脚本段中也可以声明局部变量,在后面的脚本段中可以使用这些变量,例如:

<%int i=0;%>

在后面的脚本中可以访问变量i,例如:

<%i++;%>

在将JSP页面转换为Servlet时,页面中的代码段会按照出现的顺序,依次被转换为_jspService()方法中的代码。与“声明”中进行声明变量不同的是,在脚本段中声明的变量将被转换为_jspService()方法中的局部变量,因此脚本段中的变量是线性安全的。

3.2.4 表达式

脚本元素中的“表达式”(Expression)是Java语言中完整的表达式。在请求处理时,这些表达式会被计算,计算的结果被转换为字符串插入到当前的输出流中,表达式以“<%=”开头,以“%>”结束。它的语法格式如下:

<%=Expression%>

需要注意的是,在写表达式的时候,一定不要在表达式后面添加任何的标点符号,在JSP表达式的百分号和等号之间不能有空格,下面是一个表达式的例子:

现在的时间是:<br>

<%=java.text.DateFormat.getDateTimeInstance().format(new java.util.Date())%>