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

网络整理 - 07-27

JSP 1.1提出了一种扩展的JSP标志的方法,这种方法命名为“标志库”。这些库允许另外的一些类似于jsp:include 或者jsp:forward的标志,但是它们不是以jsp:为前缀的并且还附件一些特性。 

   为了介绍标志库,在本教程中我们使用Blazix标志库作为例子。这个标志库只能用在Blazix服务器中,这个服务器你可以免费下载。 

     每一个标志库都有它自己的标志库特殊的文档。为了使用标志库,你可以使用"taglib" directive来指出标志库“description”处在什么地方。对于Blazix标志库而言,directive如下: 

<%@ taglib prefix="blx" uri="/blx.tld" %> 

     上面者句中“uri”就是指出了标志库描述所在的地方。标志库的前缀是不同的。这个指令的意思是说我们可以使用blx:来使用库中的标志。Blazix标志库提供了一个blx:getProperty标志。这个标志可以允许用户编辑表单数据。现在,在GetName.jsp文件中,我们增加一个jsp:useBean并且将表单放置在blx:getProperty中: 

<%@ taglib prefix="blx" uri="/blx.tld" %> 

<jsp:useBean id="user" class="UserData" scope="session"/> 

<HTML> 

<BODY> 

<blx:getProperty name="user" property="*"> 

<FORM METHOD=POST ACTION="SaveName.jsp"> 

What’s your name? <INPUT TYPE=TEXT NAME=username SIZE=20><BR> 

What’s your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR> 

What’s your age? <INPUT TYPE=TEXT NAME=age SIZE=4> 

<P><INPUT TYPE=SUBMIT> 

</FORM> 

</blx:getProperty> 

</BODY> 

</HTML> 

     从上面的代码中我们可以发现blx:getProperty不是以/>结尾的,而是用</blx:getProperty>来结尾。这条语句将所有的表单输入区域输入到blx:getProperty中,这样它们就可以被标志库正确地修改。 

     接着建立一个从GetName.jsp到NextPage.jsp的连接,你将发现bean的数据自动显示在输入区域中。所以现在用户可以编辑数据了。