JSP有三种方式在网页中嵌入Java代码,分别是:Scriptlet、Expression(表达式)、Declaration(声明)。
- Scriptlet
Scriptlet是包含在<%和%>之间的java代码。
Scriptlet除了不能定义类和方法、不能用import引入类外,可以包含任何有效的java代码。- scriptlet.jsp实例
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSP 基本语法</title> </head> <body> <h1>Scriptlet示例页面</h1> <table border="1"> <caption>乘法口诀表</caption> <%--在网页中嵌入java代码的主要方法--%> <% for(int i=1;i<=9;i++){ int j=1; out.println("<tr>"); for(;j<=i;j++) out.print("<td>"+j+"*"+i+"="+j*i+"</td>"); for(;j<=9;j++) out.print("<td> </td>"); out.print("</tr>"); } %> </table> </body> </html>
JSP编译为Servlet类时,Scriptlet被包含在Servlet的Service方法中。
- 表达式
表达式是JSP中动态内容的简化输出方式,其格式为:
<%= some Java expression %>
动态内容就是java表达式,他必须有返回值活着本身是一个对象。
- express.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSP基本语法</title> </head> <body> <h1>Express示例页面</h1> <% int x=4,y=5; %> <%--表达式将java表达式的值输出--%> <%=x%><sup><%=y%></sup>=<%=Math.pow(x,y)%> </body> </html>
- 声明
声明是在网页中嵌入java代码的另一种方式,格式:
<%! variable declaration method declaration(paramType param,...)%>
- declaration.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSP基本语法</title> </head> <body> <h1>Declaration示例页面</h1> <%-- 生命是另一种java脚本元素--%> <%! public long factor(int num){ if(num<=1) return 1; else return num*factor(num-1); } %> <%= factor(12) %> </body> </html>
JSP编译为Servlet时,生命中的变量和方法作为Servlet类的字段和方法。
- compareDecScr.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSP基本语法</title> </head> <body> <h1>Scriptlet变量鱼Declaration变量比较页面</h1> <%! int varClass=1; %> <% int varMethod=1; %> Declaration中的变量为:<%= varClass++ %> <br> Scriptlet中的变量为:<%= varMethod++ %> </body> </html>
刷新该页面,或者新窗口打开,生命中的变量值在增加,而Scriptlet中的变量值不变。