任何语言都有自己的语法,Java中有。JSP虽然是在Java上的一种应用,但是依然有其自己扩充的语法,而且在Jsp中,所有Java语句都可以使用。
一、Jsp的模板元素
Jsp页面中的HTML内容称为Jsp模板元素。
Jsp模板元素定义了网页的基本框架,定义了页面的结构和外观。
二、Jsp表达式
jsp脚本表达式(expression)用于将程序数据输出到客服端。
语法:<%= 变量或者表达式%>
EX:输出当前那系统时间
<%= new java.util.Data %>
Jsp引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用:"out.print(****)"将数据输送给客户端。
Jsp脚本表达式中变量或表达式后面不能有分号“;”、
三、Jsp脚本片段
Jsp脚本片段——scriptlet用于在Jsp页面中编写多行Java代码。语法:
<%
多行Java代码
%>
在<% %>中可以定义变量,编写语句,不能定义方法。
EX:
<% int sum= 0;//生命变量 /*编写语句 */ for(int i=0;i<=5;i++){ sum+=1; } out.println("<h1>Sum=:"+sum"</h1>"); %>
*注意事项
1、Jsp脚本片段中只能出现Java代码,不能出现其他模板元素,Jsp引擎在翻译Jsp页面时,会将Jsp脚本片段中的Java代码原封不动的放到Servlet中的JspService方法中。
2、Jsp脚本片段中的java代码必须要严格遵循Java语法,例如,每执行语句后面必须用分号“;” 结束。
3、在一个Jsp页面中可以有多个脚本片段,子啊两个或者多个片段之间可以嵌入文本、html标记和其他Jsp元素。
EX:
<% int x=10; out.printfln(x); %> <p>这是一个P标签</p> <% int y=20; out.printfln(y); %>
多个脚本片段中代码可以互相访问,犹如将所有的代码放在一对<% %>中一样。
单个脚本片段中的Java语句可以是不完整的,但是,多个脚本片段组合后的结果必须是完整的Java语句
<% for (int i=1; i<5; i++) { %> <H1>http://localhost:8080/JavaWeb_Jsp_Study/</H1> <% } %>
四、声明
Jsp页面中编写的代码,默认会翻译到Servlet的Service方法中,而Jsp的声明中的Java代码被翻译到——JspService方法的外面。语法:
<%!
Java代码
%>
所以,Jsp声明可以用于定义Jsp页面转换成Servlet程序的静态代码块、成员变量和方法。
多个静态代码块、变量和函数可以定义在一个Jsp声明中,也可以分别单独定义在多个Jsp声明中。
Jsp隐式对象的作用范围权限于Servletd的JspService方法,所以在Jsp声明中不能使用这些隐式对象。
<%! static { System.out.println("loading Servlet!"); } private int globalVar = 0; public void jspInit(){ System.out.println("initializing jsp!"); } %> <%! public void jspDestroy(){ System.out.println("destroying jsp!"); } %>
五、JSP 的注释
在Jsp中,注释有两大类:
显式注释:直接使用HTML风格的注释:<!-- *****-->
隐式注释:直接使用java的注释: // ,/*-----*/
JSP自己的注释:<%--*****--%>
<!--这个注释可以看见--> <% //JAVA中的单行注释 /* JAVA中的多行注释 */ %> <%--JSP自己的注释--%>
HTML的注释在浏览器中查看源文件的是可以看见的,而Java注释和Jsp注释在查看源文件是看不见的的,这就是三种注释的区别所在。