JSP语法
1.jsp注释
注释可增加程序的可读性,易于软件的维护
JSP注释分为显示注释(HTML注释)和隐藏注释
代码如下
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP注释</title>
</head>
<body>
Hello JSP
<!-- 这行注释会在客户端的浏览器源码中查看到 <%= (new Date()).toString() %> -->
<%-- 这行注释不会在客户端的浏览器源码中查看到<%=(new Data()).toString() %> --%>
</body>
</html>
<%-- --%> 为隐藏注释
(new Date()).toString() 为显示操作世界的java代码,需要<%@page import=“java.util.Date”%>
可通过ALT+?键快速导入
运行结果↓
可见,显示注释可在客户端的网页源码中显示,隐藏注释则不可显示。
2.脚本元素
JSP页面中的脚本元素主要包括:声明(Declaration),表达式(Expression)和小脚本(Scriptlets)。如下表所示:
元素 | 描述 |
---|---|
<%= %> | 表达式,用于嵌入jaba表达式,这些表达式的结果将加入应答中,也可以用作运行时为的属性值 |
<%! %> | 声明,用于在JSP页面的实现类中声明实例变量和方法 |
<% %> | 小脚本,用于嵌入脚本代码 |
表中所列的脚本元素允许用户将小段代码(一般情况下是Java代码)添加到JSP页面中(如可以加入一个if语句,以根据具体情况的不同产生不同的HTML代码,同行为元素一样,他们也是在页面被请求时执行的。在使用脚本元素时要格外小心,如果在jsp页面中加入了过多的代码,最后会遇到将html嵌入servlet时一样的维护问题。
Scriptlet~小脚本
使用小脚本实现1到100累加求和的功能
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算1+2+3+...+100</title>
</head>
<body>
<%
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
out.println("1+2+3+...+100=" + sum);
%>
</body>
</html>
运行结果↓
Expression~表达式
使用表达式计算a+b=c,并将c的值显示到页面上
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp表达式的使用</title>
</head>
<body>
<%
int a, b, c;
a = 10;
b = 15;
c = a + b;
out.println("a+b="+c+"<br>");
%>
a+b=<%=c%>
</body>
</html>
运行结果↓
由此可见使用java语言与使用表达式可得到相同的结果,但是合理使用表达式使得页面更加简洁易懂,更易于维护。
Declaration~声明
JSP声明用于在JSP程序中合法声明变量,实例,方法和类。本案例主要介绍在声明下定义变量和在脚本中定义变量的区别
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP声明</title>
</head>
<body>
<%!
int i = 1; //声明在<%!>内的变量
%>
<%
int j = 1; //声明在<% >内的变量
%>
i的值<%=++i%><br>
j的值<%=++j%>
</body>
</html>
运行结果↓
刷新多次后↓
刷新后i和j的值不同的原因是因为
声明在<%!%>内的变量和方法是一个类内的变量即成员变量(全局变量)。
声明在<%%>内的变量是一个方法的变量(局部变量)
全局变量会被多个对象共享,局部变量是单独对象访问,所以i会自动增加,j不会递增.
学习工具:eclipse IED