一、嵌入Java代码
在JSP页面中可以嵌入Java的代码片段来完成业务处理。如之前的实例在页面中输出当前日期,就是通过嵌入Java代码片段实现的。
1)代码片段:就是在JSP页面中嵌入的Java代码,也可称为脚本码或脚本代码。代码片段将在页面请求的处理期间被执行。
基本格式:<%编写Java代码%>
实例:在代码片段中编写循环输出九九乘法表
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import = "java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>JSP的代码片段</title>
</head>
<body>
<%
long startTime = System.nanoTime();
%>
输出九九乘法表
<br>
<%
for(int i = 1; i <= 9; i ++ )
{
for(int j = 1; j <= 9; j ++ )
{
String str = j + "*" + i + "=" + j * i;
out.print(str + " ");
}
out.print("<br>");
}
long time = System.nanoTime() - startTime;
%>
生成九九乘法表用时
<%
out.println(time / 1000);
%>
毫秒。
</body>
</html>
当运行程序时出现了以下错误提示:
”Unable to compile for JSP“,”The server encountered an internal error that prevented it from fulfilling this request“,”System cannot be resolved“。
问题解决:这是因为你的jdk版本和eclipse版本不能与tomcat匹配,因此我们需要重装jdk和eclipse。如果你不知道到底装哪两个版本的,可以装how2j上推荐的两个版本。JDK安装及环境变量配置和eclipse下载。
重新下载完毕之后,我们就能成功运行出结果了。
2)声明
声明脚本用于在JSP页面中定义全局的成员变量或方法,它们可以被整个JSP页面访问,服务器执行时会将JSP页面转换为Servlet类,在该类中会把使用JSP声明脚本定义的变量和方法定义为类的成员。
a. 定义全局变量
eg. <%! long startTime = System.nanoTime();%>
b.定义全局方法
<%!
int getMax(int a, int b){
int max = a > b : a > b;
return max;
}
%>
注:JSP脚本和声明的区别:
JSP脚本<% %>只能声明变量,不能声明方法。JSP声明<%! %>可以声明变量和方法。
且<% %>中声明的变量为局部变量。(Java中不允许方法嵌套方法)
<%! %>中声明的变量为成员变量,声明的方法为成员方法。
3)JSP表达式
JSP表达式可以直接把变量或表达式的值结果输出到JSP页面中(不需要借助out.print()打印)。表达式的最终运算结果将被转换为字符串类型,因为在网页中显示的文字都是字符串。
JSP表达式的语法格式:<%= 表达式%>
注:JSP表达式不能以分号结尾
二、注释
1)HTML注释
HTML语言的注释不会被显示在网页中,但是在浏览器中选择查看网页源代码时,还是能够看到注释信息的。
HTML注释:<!-- 注释文本-->
2)JSP注释
如果采用HTML注释代码的话,在浏览器中查看网页源代码时将暴露这些注释信息;而如果使用JSP注释就不用担心这种情况,因为JSP注释是被服务器编译执行的,不会发送到客户端。
JSP注释:<%-- 注释文本 -->
3)动态注释
由于HTML注释对JSP嵌入的代码不起作用,因此可以利用它们的组合构成动态的HTML注释文本。
eg. <!-- <%= new Date()%> -->上述代码将当前日期和时间作为HTML注释文本。
4)代码注释
即Java的代码注释格式
<%
//单行注释
/*
多行注释
*/
/**
文档注释
*/
%>