JSP语法基础
在一个传统的 HTML 页面文件中添加 java 程序片和 JSP 标记就构成了一个 JSP 页面。一个典型的 JSP 文件包括:注释、 HTML 标记、 java 表达式、 java 程序片、变量和方法的声明、 JSP 标记(如动作标记、指令标记)。
1、注释
1)HTML 注释
<!-- 注释内容 -->
2)JSP 注释
<%-- 注释内容 --%>
3)程序片注释
//单行注释内容
/* 多行注释内容 */
2、java 表达式
<%= 变量或可以返回值的方法或 Java 表达式 %>
注意:不可插入语句,“<%=”是一个完整的符号,“<%”与“=”之间不要有空格。
插入的表达式必须能求值,表达式的值有服务器负责计算,并将计算结果以字符串的形式发送到用户端显示。
示例:
<%= i %> <%= "hello" %>
<%= 3<15 %> <%= Math.PI %>
<%= 66+88 %> <%= "11+22" %>
3、变量和方法的声明
<%! 声明变量、方法 %>
注意:"<%" 和 "!" 之间不能有空格。
1)声明变量
声明的变量是 JSP 页面的成员变量,被转换和编译到的对应的 servlet 类的成员变量,被所有用户共享。
语法:<%! 变量声明 %>
示例:
<%! int a,b=10,c;
String tom=null,units="jsp";
Date date;
%>
在"<%!" 和 "%>" 之间声明的变量在整个 JSP 页面内都有效,是全局变量,所有用户共享。一般习惯把它放在 JSP 页面的前面。
注:声明的变量类型可以是 java 中允许的任何数据类型。
补充:
<%! int i = 0; %> 与 <% int i=0; %> 是不同的。
<%! int i = 0; %> 这是声明一个变量 i,初值为0,是被所有用户共享的,相当于全局变量,只有第一个用户来的时候创建。而 <% int i=0; %> 这里的 i 是被每个用户独享的,每个用户来的时候都会创建一次。
示例:
<html>
<body>
<%!int i=0;%>
<% int j=0;
i++;j++;%>
i:<%=i%>
j:<%=j%>
</body>
</html>
输出结果:
i:3
j:1
2)声明方法
在"<%!" 和 "%>"之间声明的方法在整个 JSP 页面有效,可以在 java 程序片中被调用。方法只能在声明中定义。
注:方法中定义的变量是局部的,只有在方法被调用时被创建,方法调用结束后销毁。
示例:
<%! double multi(double x,double y){
return x*y;
}
long countPeople(){
long number=0;
number++;
return number;
}
%>
4、java 程序片
java 程序片是指使用 "<%" 和 "%>" 标记起来的一段 java 代码。格式:
<% java程序片段 %>
1)一个 JSP 页面可以有多个 java 程序片,这些程序片被 JSP 引擎按顺序执行。
2)在 java 程序片中也可以声明变量,但这些变量是局部变量,一个用户对 JSP 页面局部变量的操作不会影响其他用户。
3)java 程序片之间可以插入 JSP 页面的一些其他标记元素。
4)程序片段中必须是 java 语句,语句必须以分号结束。
示例:
<%@ page pageEncoding="UTF-8" %>
<%! int conSum(int n){
int sum=0;
for(int i=1;i<=n;i++)
{ sum=sum+i; }
return sum;
} %>
<P>第一个代码段声明了一个int型变量sum:
<% int sum; %>
<P>第二个代码段调用方法conSum:
<%
int n=(int)(Math.random()*100);
sum=conSum(n);
%>
<P>第三个代码段将调用方法conSum得到的值显示给客户:
<P>1到<%=n %>的连续和是:<%= sum %>
<% if(sum>=55)
{%>
<P>您计算的项数超过10项了。
<%}else{%>
<P>您计算的项数没有超过10项。
<% } %>
5、JSP 通用规则
1)JSP 区分大小写。
2)标记着的属性值用双引号括起来。
3)JSP 使用的 URL:以"/"开始的 URL 叫做上下文相关路径。
4)在文档体中的文本中的空白符无关紧要。