JSP聲明定義網頁範圍的變量、函數或類
聲明的變量和方法是該頁面所對應的Servlet類的成員變量和成員方法,聲明的類是Servlet類的內部類。
聲明塊包含在<%!和%>中 。
包括變量聲明、方法聲明和聲明類三種。
JSP聲明定義網頁範圍的變量、函數或類,讓頁面的其餘部分能夠使用。
聲明的變量和方法是該頁面所對應的Servlet類的成員變量和成員方法,聲明的類是Servlet類的內部類。
聲明塊包含在<%!和%>中 。
包括變量聲明、方法聲明和聲明類三種。
一、變量聲明
用於定義特定於 JSP 頁面的變量,聲明的變量成了 JSP 頁面轉換到的 Servlet 類的成員變量,可以被該JSP頁面中其他任何部分使用。
其語法形式爲:<%! 變量聲明 %>
聲明的變量類型可以是Java語言中允許的任何數據類型。
變量聲明方式跟Java中變量聲明的形式一樣,也可以在聲明變量時對其進行初始化,記住要在變量聲明的後面加上分號。如:
private String units = "ft";
double st=Math.sqrt(16); %>
二、方法聲明
聲明的方法在JSP頁面有效,它編譯成Servlet 類的成員方法。可以由頁面上所有腳本元素訪問。
其語法形式爲:<%! 方法聲明 %>
方法聲明方式跟Java中方法定義的形式一樣,要給出方法返回類型、方法名、方法形參和方法體。
注意:雖然方法是客戶共享的,但方法中的變量並不是客戶共享的。如:
{
if (x == 0 )
return 1 ;
else
return x * fact (x-1) ;
}
%>
三、聲明類
聲明類是JSP頁面對應的Servlet類的內部類,頁面上所有腳本元素都可以創建該類的對象。
其語法形式爲:<%! 聲明類 %>
下面例子定義一個square類,當客戶訪問該頁面時,服務器創建該類的對象,只要客戶給出方的邊長,就可以求出方的周長和麪積。
例exa_1.jsp:(運行結果如圖2-13所示)
<html>
<body>
<p>請輸入正方形邊長
<br>
<form action="exa_1.jsp" method="get" name=form>
<input type="text" name="cat" value="1">
<input type="submit" name="submit" value="送出">
</form>
<%! public class square
{
double r;
square(double r)
{this.r=r;}
double getarea()
{ return r*r;}
double getlength()
{ return r*4;}
}
%>
<% String s=request.getParameter("cat");
double r;
if(s!=null)
{r=Double.valueOf(s).doubleValue();}
else
{r=1;}
square cc=new square(r); //創建對象
%>
<P>方的面積是:
<BR>
<%=cc.getarea()%>
<p>方的周長是
<%=cc.getlength()%>
</body>
</html>