JSP由浅入深(6)—— JSP声明

现在你所编写的JSP要变成一个类的定义。所有你编写的scriptlets要放置到这个类的一个方法中。同样,你可以增加变量和方法声明到这个类中。当然你也可以从scriptlets和表达式中使用这些变量和方法。

为了增加一个声明,你必须使用<%! and %>来圈起你的声明,比如:

<%@ page import="java.util.*" %>

<HTML>

<BODY>

<%!

Date theDate = new Date();

Date getDate()

{

System.out.println( "In getDate() method" );

return theDate;

}

%>

Hello! The time is now <%= getDate() %>

</BODY>

</HTML>

上面的例子已经声明了变量和方法:一个Date变量theDate以及一个方法getDate。这两个从现在开始在scriptlets和表达式中都是有效的了,因为它们已经定义了。

但是不幸的是,上面的这个例子并不能正常工作:不管你怎么重载网页,日期都是相同的。其中的原因是这些声明,它们只在网页被装载的时候才被计算一次。这一点就象我们在Visual C++中创建一个类并定义变量的初始化值。

本节教程的练习为:修改上面的例子,增加另外一个函数computeDate来重新初始化theDate。并且增加一个scriptlet来每次调用computeDate。

(0)

相关推荐

  • JSP由浅入深(9)—— JSP Sessions

    在经典的网站上,访问者可以浏览几个网页并执行一些交互的行为.如果你在编写这样的网站,利用每一个用户的一些数据是非常有用的.为了这个目的,我们可以使用JSP中的"sessions". Session是一个跟用户相关的对象.当用户访问网站的时候,一些数据就被存放于session中,并在需要的时候从中取出数据.Session为不同的用户保存了不同了数据. 以下的网页将用户的名字放置于session中,并可以在其它地方来显示它.首先我们要制作一个表单,然后将它命名为GetName.html &

  • JSP由浅入深(6)—— JSP声明

    现在你所编写的JSP要变成一个类的定义.所有你编写的scriptlets要放置到这个类的一个方法中.同样,你可以增加变量和方法声明到这个类中.当然你也可以从scriptlets和表达式中使用这些变量和方法. 为了增加一个声明,你必须使用<%! and %>来圈起你的声明,比如: <%@ page import="java.util.*" %> <HTML> <BODY> <%! Date theDate = new Date();

  • JSP由浅入深(8)—— JSP Tags

    JSP另外一个重要的语法是Tags(标记).JSP Tags不是使用<%,而只是使用<字符.JSP Tag有点象HTML Tag .JSP tags可以有一个"start tag".一个"tag body"以及一个"end tag".开始和结束的标志都可以使用标志的名字,都被圈在<和>字符里面.结束的标志是在字符<后面加一个反斜杆(/)字符.这个标志名字有一个嵌入的冒号(:)字符在里面,其中冒号前面的部分描述了标志的

  • JSP由浅入深(7)—— JSP Directives

    在前面的教程中,我们已经使用了java.util.Date.可以有人就会问:为什么不只使用import java.util.*呢?其实,在JSPs中也可以使用import语句,但是它的语法跟普通的Java是有些差别的.下面给出一个例子: <%@ page import="java.util.*" %> <HTML> <BODY> <% System.out.println( "Evaluating date now" );

  • JSP由浅入深(1)—— 熟悉JSP服务器

    熟悉JSP服务器 本"JSP由浅入深" 系列教程是面向中级和高级用户的,它需要HTML和Java的基础.你应该会将HTML网页连接到一起,并且会利用Java来进行编程.如果你还没有这个基础,建议你还是先打好基础为好.这个系列教程将通过编制简单的例子到复杂的例子来教会你JSP.本系列教程是采用循序渐进的方法来进行阐述的,即由浅入深.为了使你能够获得最大的进步,建议你再学习的过程中将所有的例子自己进行调试.开始的例子可能会很简单,所以开始的时候你要特别耐心,不要认为太简单而跳过.如果你仔细

  • JSP由浅入深(12)—— 表单编辑

    比如来自Blazix服务器的标志库在你的系统环境中不能使用,那么不使用标志库来实现相似的功能呢?本教程就是为这个问题而提出的.这个问题是可以解决的,只是代码要长一点.主要地,你必须亲自编辑HTML标志,然后将它设置缺省值.从下面的例子的例子中我们可以学到怎样修改GetName.jsp以提供类似于blx:getProperty的特性,但是我们只能手工地编辑HTML标志: <jsp:useBean id="user" class="UserData" scope=

  • JSP由浅入深(11)—— 标记库

    JSP 1.1提出了一种扩展的JSP标志的方法,这种方法命名为"标志库".这些库允许另外的一些类似于jsp:include 或者jsp:forward的标志,但是它们不是以jsp:为前缀的并且还附件一些特性. 为了介绍标志库,在本教程中我们使用Blazix标志库作为例子.这个标志库只能用在Blazix服务器中,这个服务器你可以免费下载. 每一个标志库都有它自己的标志库特殊的文档.为了使用标志库,你可以使用"taglib" directive来指出标志库"d

  • JSP由浅入深(2)—— 第一个JSP

    第一个JSP 实际上,JSP只是简单地将Java放到HTML网页中去而已.你可以将现有的HTML网页将它们的扩展名由".html"改为".jsp",这是一个创建第一个JSP最好的方法. 我们可以将上一个练习中的文件将它的扩展名由".html"改为".jsp".然后在浏览器中装载新的文件,即以".jsp"为扩展名的文件. 此时,你可以看到的输出,但是它需要更长的时间.这个现象也只发生在你第一次装载它的时候.如

  • jsp中文乱码 jsp mysql 乱码的解决方法

    jsp中文乱码 jsp mysql 乱码要servlet里面支持中文的方法: 在dopost或者doget的第一句加上: request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312"); jsp乱码问题在jsp里面就把 <%@ page contentType="text/html; charset=gb2312" language="

  • JSP教程(五)-JSP Actions的使用下

    jsp:useBean Action 的使用 一. 语法: <jsp:useBeanid="beanInstanceName"scope="page|request|session|application"{ class="package.class" |type="package.class" |class="package.class" type="package.class"

随机推荐