JSP页面动态部分包括JSP注释、JSP声明、JSP表达式、JSP指令和JSP动作。
一、JSP注释
注释里的内容均不会在屏幕上显示,
HTML注释会发给客户端浏览器,在浏览器中通过“查看源文件”等类似的方法可以看到该HTML注释;
JSP注释不会发给浏览器,在客户端完全不可见,其作用是供程序员阅读、调试程序提供方便用的。
(1)HTML注释:
<!--这是HTML注释,在客户端源代码中可以查看-->
(2)JSP注释:
<%-- 这是JSP注释,在客户端完全不可见 --%>
(3)代码示例:
<%@ page pageEncoding="gbk"%>
<html>
<body>
<!-- 这是HTML注释,在客户端源代码中查看 -->
注释示例
</body>
</html>
查看页面源文件,结果如下:
二、JSP声明、程序段、表达式
1. JSP程序段
JSP程序段实际上就是嵌入在页面中的Java代码,也成JSP代码段。
<% Java代码段 %>
2. JSP声明
JSP声明用于声明变量和方法,相当于对应的Servlet类的成员变量或成员方法,在JSP整个网页中都能够使用这些声明过的变量或方法。
<%! Java变量或方法; %>
注意!!!
【JSP声明】
- 在JSP声明部分定义的变量和方法是类的全局变量和方法,在创建对应的Servlet实例时被初始化,且一直有效,直到实例销毁;
- 变量可以用private、public、static修饰,但是方法不能用abstract修饰,因为抽象方法将导致JSP对应的Servlet变成抽象类,从而无法导致实例化。
- 因为是全局变量,所以如果定义一个变量count,用于统计访问该页面的次数,同时打开多个浏览器或在不同计算机上打开浏览器来请求这个JSP页面,将发现count值是连续增加的。
<就好比我在360浏览器上访问JSP页面,count显示为6,刷新之后count为8,然后我再在谷歌浏览器访问这个JSP页面,count变为9……>
【JSP程序段】
- 在JSP程序段部分定义的变量是_jspService方法内部的变量是局部变量。
3.JSP表达式
JSP表达式在求值后被自动转化为字符串在表达式所在的位置显示。
该表达式可以使用预定义的内部对象,例如request、response、out、session、application、config和pageContext,也可以调用JavaBean的方法。
不能用分号(;)作为表达式的结束符。
<%=Java表达式%>
注意!不能有空格,有空格的话会出错!!!
三、程序示例
例1:计算1到10的和,并用JSP表达式将计算结果输出到客户端。
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>sum测试</title>
</head>
<body>
<%
int sum=0;
for(int i=1;i<=10;i++)
{
sum+=i;
}
%>
1+2+……+10=<%=sum%>
</body>
</html>
结果如下:
例2:用循环生成一个5行的表格,在表格中生成表达式值。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP测试</title>
</head>
<body>
<table width="200" border="1">
<%for(int i=0;i<5;i++) {%>
<tr>
<td>循环值:</td>
<td><%=i%></td>
<% } %>
</tr>
</table>
</body>
</html>
结果如下: