第一种:<% %>:java脚本段,可以定义局部变量、编写语句
第二种:<%! %>:声明,可以定义全局(成员)变量、方法、类
第三种:<%= %>:表达式,数据一个变量或具体内容
实际案例:
<% %>java脚本段:可以在里面定义局部变量、编写语句
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
// out.println(a);//在定义a的java脚本段前面调用a,由于a是局部变量无法调用
%>
<%
int a=1;//定义局部变量
System.out.println(a);//在控制台输出a的值
out.println(a);//在浏览器输出a的值
%>
<%
out.println(a);//在定义a的java脚本段后面调用a,成功
%>
</body>
</html>
第二种:<%! %>:声明,可以定义全局(成员)变量、方法、类
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println(a);//在定义a的java脚本段前面输出,成功
%>
<%!
int a=1;//定义全局变量
int Max(int a,int b){//定义函数
return (a>=b)?a:b;
}
class Student{//定义类
int age;
String name;
Student(int age,String name){
this.age=age;
this.name=name;
}
}
%>
<%
out.println(a);//在定义a的java脚本段后面输出a,成功
out.println(Max(3,5));//调用声明的方法进行输出
out.println((new Student(12,"lili")).name);//调用声明的类进行输出它的成员变量
%>
</body>
</html>
第三种:<%= %>:表达式,数据一个变量或具体内容
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println(a);//在定义a的java脚本段前面输出,成功
%>
<%!
int a=1;//定义全局变量
int Max(int a,int b){//定义函数
return (a>=b)?a:b;
}
class Student{//定义类
int age;
String name;
Student(int age,String name){
this.age=age;
this.name=name;
}
}
%>
<%--<%--%>
<%-- out.println(a);//在定义a的java脚本段后面输出a,成功--%>
<%-- out.println(Max(3,5));//调用声明的方法进行输出--%>
<%-- out.println((new Student(12,"lili")).name);//调用声明的类进行输出它的成员变量--%>
<%--%>--%>
<%--调用变量a,输出它的值--%>
<%=a%>
<%--调用声明的方法进行输出--%>
<%=Max(3,5)%>
<%--调用声明的类进行输出它的成员变量--%>
<%=(new Student(12,"lili")).name%>
</body>
</html>
注意:<% %>java脚本段中不能定义方法,方法只能在<%! %>中定义,因为<% %>java脚本段中的代码将会被放到Servlet的方法体内,方法是不能被嵌套定义的。