本文共 2171 字,大约阅读时间需要 7 分钟。
JSP脚本元素是指嵌套在<% 和 %> 之中的一条或多条 Java 程序代码。通过JSP 脚本元素可以将 Java 代码嵌入HTML页面中,所有可执行的Java代码,都可以通过JSP脚本来执行。
JSP脚本元素主要包含如下三种类型:
JSP Scriptlets 是一段代码段。当需要使用Java实现一些复杂或控制时,可以使用它。JSP Scriptlets的语法格式如下所示:
<% java 代码 (变量、方法、语句等)%>
在JSP Scriptlets中声明的变量是JSP页面的局部变量,调用JSP Scriptlets 时,会为局部变量分配内存空间,调用结束后,释放局部变量占有的内存空间。
JSP的声明语句用于声明变量和方法,它以“<%!” 开始,以“%>” 结束,其语法格式如下所示:
<%! 定义的变量或方法%>
在上述语法格式中,被声明的Java代码将被编译到Servlet的_jspService() 方法之外,即在JSP声明语句中定义的都是成员方法、成员变量、静态方法、静态变量、静态代码块等。在JSP声明语句中声明的方法在整个JSP页面内有效。
在一个JSP页面中可以有多个JSP声明语句,单个声明中的Java语句可以不是完整的,但是多个声明组合后的结果必须是完整的Java语句。
例子:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@ page import="java.lang.*" %>Insert title here <%-- jsp脚本 --%> <% int total = 0; boolean flag = false; for (int i = 2; i <= 100; i++) { for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { flag = true; break; } } if (flag == false) { total += i; } flag = false; } %> <%-- jsp表达式 --%> 1~100 的素数之和为<%=total %>
<%-- jsp声明语句 定义成员函数findYear() --%> <%! public int findYear(int year1, int year2){ int count = 0; for (int i = year1; i <= year2; i++) { if (((i % 4 == 0) && (i % 100 != 0)) || (i % 400 == 0)) { count++; } } return count; } %> <%-- jsp脚本 调用函数findYear() --%> <% int count = findYear(2000, 2013); %> <%-- jsp表达式 --%> 2000年~2013年之间共有<%=count %>个闰年。
需要注意的是,<%! 和 %> 里面定义的变量是成员变量,方法是全局的方法,此处只是声明,也就是定义,变量或方法都没有被调用。
JSP表达式(expression)用于将程序数据输出到客户端,它将要输出的变量或者表达式直接封装再以“<%=” 开头和以 “%>” 结尾的标记中,其基本的语法格式如下所示:
<%= expression %>
在上述语法格式中,JSP表达式中的将“expression” 表达式结果输出到浏览器。
需要注意的是:同其他各种编程语言一样,JSP也有自己的注释方式,其基本语法格式如下:
<%-- 注释 --%>
需要注意的是,Tomcat在将JSP页面编译成Servlet程序时,会忽略JSP页面中被注释的内容,不会将注释信息发送到客户端。
<%-- jsp注释 --%><% //java注释 %>
可见范围 | jsp源码 | java源码 | html源码 |
---|---|---|---|
jsp注释 | 有 | 无 | 无 |
java注释 | 有 | 有 | 无 |
html注释 | 有 | 有 | 有 |
转载地址:http://ijsqb.baihongyu.com/