JSP声明定义网页范围的变量、函数或类

JSP声明定义网页范围的变量、函数或类


内容提要:JSP声明定义网页范围的变量、函数或类,让页面的其余部分能够使用。 
声明的变量和方法是该页面所对应的Servlet类的成员变量和成员方法,声明的类是Servlet类的内部类。 
声明块包含在<%!和%>中 。
包括变量声明、方法声明和声明类三种。

JSP声明定义网页范围的变量、函数或类,让页面的其余部分能够使用。
声明的变量和方法是该页面所对应的Servlet类的成员变量和成员方法,声明的类是Servlet类的内部类。
声明块包含在<%!和%>中 。
包括变量声明、方法声明和声明类三种。

一、变量声明

用于定义特定于 JSP 页面的变量,声明的变量成了 JSP 页面转换到的 Servlet 类的成员变量,可以被该JSP页面中其他任何部分使用。
其语法形式为:<%! 变量声明 %>
声明的变量类型可以是Java语言中允许的任何数据类型。
变量声明方式跟Java中变量声明的形式一样,也可以在声明变量时对其进行初始化,记住要在变量声明的后面加上分号。如:

<%! private int x=0, y=0;
private String units = "ft";
double st=Math.sqrt(16); %>

二、方法声明
声明的方法在JSP页面有效,它编译成Servlet 类的成员方法。可以由页面上所有脚本元素访问。
其语法形式为:<%! 方法声明 %>
方法声明方式跟Java中方法定义的形式一样,要给出方法返回类型、方法名、方法形参和方法体。
注意:虽然方法是客户共享的,但方法中的变量并不是客户共享的。如:

<%! public long fact (long x)
{
     if (x == 0 )
       return 1 ;
    else
       return x * fact (x-1) ;
   } 
%>

 

三、声明类

声明类是JSP页面对应的Servlet类的内部类,页面上所有脚本元素都可以创建该类的对象。
其语法形式为:<%! 声明类 %>
下面例子定义一个square类,当客户访问该页面时,服务器创建该类的对象,只要客户给出方的边长,就可以求出方的周长和面积。
例exa_1.jsp:(运行结果如图2-13所示)

<%@ page contentType="text/html;charset=gb2312"%>
<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>

发布了11 篇原创文章 · 获赞 10 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章