上QQ阅读APP看书,第一时间看更新
3.1 JSP的注释和声明
注释是一门语言最基本的功能,为了让别人或自己能看懂编写过的代码,注释必不可少。JSP中的声明是表示“这是JSP语言”的一个关键。本节就来详细介绍JSP的这两部分基础。
3.1.1 JSP中的注释
在编写规范的代码时,合理和必要的注释是至关重要的,这也是对开发人员的一项最基本要求。编程语言的注释起到了说明解释的作用,在实际执行的过程中并不执行。同样,JSP也是一样的。在JSP页面中,注释可以归纳为两种:一种是原有的HTML注释;另外一种是JSP的注释。
(1) HTML的注释如下:
<! -- 注释的内容 -->
例如:
<! -- 注释的内容会被照搬到浏览器中 -->
(2)JSP的注释语法如下:
<%-- 注释的内容 --%>
例如:
<%-- 注释的内容不会照搬到浏览器中 --%>
在实际应用中,JSP通常会引入Java的注释,二者混着用。因为Java的注释在脚本中注释,而JSP的注释在脚本外注释。
【例3.1】JSP中不同的注释用法
-----------------------myjsp.jsp-------------------------- 01 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 02 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 03 <html> 04 <head> 05 <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> 06 <title>JSP注释例子</title> 07 </head> 08 <body> 09 <! -- 该JSP注释可以在浏览器文件中看到 --> 10 <br/> 11 <center> 12 <table> 13 <tr> 14 <th> 15 <b>JSP注释</b> 16 </th> 17 </tr> 18 </table> 19 </center> 20 <table> 21 <tr> 22 <th> 23 <b>JSP注释</b> 24 </th> 25 </tr> 26 </table> 27 <table align="right"> 28 <tr> 29 <th> 30 <b>JSP注释</b> 31 </th> 32 </tr> 33 </table> 34 <%--该JSP注释无法在浏览器中看到 --%> 35 <% 36 // 这是脚本中的Java注释 37 /* 38 这也是脚本中的Java注释 39 */ 40 %> 41 </body> 42 </html>
上述代码介绍了JSP的各种注释格式,其中代码第9行是“<! -- -->”格式,第34行是“<%-- --%>”格式。因为都是注释,所以界面运行的结果看不到注释中的内容,通过浏览器“查看源文件内容”功能可以看到HTML注释的内容。本例运行的结果如图3.1所示。
图3.1 JSP注释运行结果界面
提示
第36行的代码说明在JSP页面中可以嵌套Java注释。
3.1.2 JSP中的声明
JSP声明用于定义JSP中的变量、方法以及静态方法,实际上它跟Java中定义一个全局变量、共用方法一样,JSP声明部分的变量和方法是可以在JSP页面中被调用和使用的。
JSP声明的基本语法有两种,分别是:
(1) <%! 变量定义/方法定义/类 %> (2) <jsp:declaration>变量定义/方法定义/类</jsp:declaration>○2
提示
○2中的语法现在已经过时,现在开发一般采用第一种声明语法。
JSP声明的结尾跟Java的结尾一样以“; ”结束,可以一次定义多个变量,用“, ”分割。声明部分的变量和方法只在当前的页面中有效。
【例3.2】演示变量、方法和类的声明。
-----------------------shengming.jsp-------------------------- 01 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 02 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 03 <html> 04 <head> 05 <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> 06 <title>JSP声明例子</title> 07 </head> 08 <%! 09 int x, y=60, z; //多个声明以“, ”分割 10 String name="John"; 11 Date date = new Date(); 12 %> 13 <%! 14 int add(int m, int n){ //计算两个数的和 15 int result=0; 16 result = m+n; 17 return result; 18 } 19 %> 20 <%! 21 int chengji(int m, int n){ //计算两个数的乘积 22 int result=0; 23 result = m*n; 24 return result; 25 } 26 %> 27 <%! 28 class Circle{ //计算圆的面积 29 double r; 30 Circle(double r){ 31 super(); //继承空的构造方法 32 this.r = r; 33 } 34 double area(){ //取整 35 return Math.floor(Math.PI*r*r); 36 } 37 } 38 %> 39 <body> 40 <% 41 out.println("我的名字:"+name); 42 out.println("<br/><br/>"); 43 out.println("x的值为:"+x); 44 out.println("<br/><br/>"); 45 out.println("y的值为:"+y); 46 out.println("<br/><br/>"); 47 out.println("z的值为:"+z); 48 out.println("<br/><br/>"); 49 out.println("现在的时间为:"+date); 50 out.println("<br/><br/>"); 51 out.println("10与20的和:"+add(10,20)); 52 out.println("<br/><br/>"); 53 out.println("10与20的积:"+chengji(10,20)); 54 %> 55 <br/> 56 <br/> 57 <% 58 Circle c = new Circle(6); 59 out.println("半径为6的圆面积为:"+c.area()); 60 %> 61 </body> 62 </html>
页面效果如图3.2所示。
图3.2 declar.jsp页面的运行结果