JSP页面中关于”<%%>”和”<%=%>”的含义
首先,我们要了解jsp运行原理。JSP的本质就是一个Servlet,JSP的运行之前会先被Tomcat服务器翻译为.java文件,然后在将.java文本编译
为.class文件,而我们在访问jsp时,处理请求的就是那个翻译后的类。
1.<% %>叫做脚本片段,其中写的内容会翻译在Servlet的Service方法中,显然我们可以在Service方法中定义局部变量或者调用其他方法,但是不能
在Service中再定义其他的方法,也就是我们可以在<%%>中定义局部变量或者调用方法,但不能定义方法。在jsp页面可以有多个脚本片段,但是多
个脚本片段之间要保证结构完整。
2.<%!%>称作声明,其中写的内容将来会直接翻译在Servlet类中,因为我们可以在类中定义方法和属性以及全局变量,所以我们可以在<%!%>中声
明方法、属性、全局变量。
3.<%=%>称作jsp表达式,用于将已经声明的变量或者表达式输出到网页上面。
4.直接写在jsp页面中的代码称作模板元素,将来会Servlet的Service方法中的out.write("___")中,作为输出内容。
下面,我们举两个例子:
示例1:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp测试<%%></title>
</head>
<body>
<%for(int i = 0;i<3;i++){%>
out.println("这是第"+ i +"次输出数据");
<%}%>
</body>
</html>
页面内容:
示例2:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp测试<%%></title>
</head>
<body>
<%for(int i = 0;i<3;i++){%>
out.println("这是第"+ <%=i%> +"次输出数据");
<%}%>
</body>
</html>
页面内容: