Scriptlet

Scriptlet

Scriptlet包含一個有效的程序段。一個scriptlet能夠包含多個jsp語句,方法,變數,表達式。

簡介


Scriptlet是包含在<% %>之間的Java代碼,在Web容器處理JSP頁面時執行,通常會產生輸出,並將輸出發送到客戶的輸出流里。
<% %>中除了不能定義類和方法、不能用import引入類外,可以包含任何有效的Java代碼。(Java類在Jsp外部定義,可用page指令的import屬性引入,也可以Java Bean的形式使用。Java中的方法必須在類內定義,但Jsp允許使用聲明定義方法。窗體(GUI)設計代碼在Jsp中無效)。
任何文本,HTML標記,JSP元素必須在scriptlet之外,當JSP收到客戶的請求時,scriptlet就會被執行,如果scriptlet有顯示的內容,這些顯示的內容就被存在out對象中。

功能


因為scriptlet,我們便能做以下的事:
聲明將要用到的變數或方法;
編寫JSP表達式;
使用任何隱含的對象和任何用聲明過的對象。

語法


<% code fragment %>
在JSP中Scriptlet一共分為三種:
1.<%%>:定義局部變數,編寫語句:
<%
int i = 10 ;
int j = 20 ;
out.println(i * j) ;
out.println("

"+(++i)+"

") ;
%>
2.<%!%>:定義全局變數,可以編寫類、方法:
<%!
int i = 10 ;
int j = 20 ;
public int add(int x,int y){
return x + y ;
}
%>
<%
out.println(add(10,20)) ;
out.println("

"+(++i)+"

") ;
%>
3.<%=%>:表達式輸出,專門輸出變數或一個具體值:
<%="hello World!!!"%>