韩冰 发表于 2005-1-26 00:34

<TABLE cellSpacing=8 cellPadding=0 width="100%" background=10615.files/point.gif border=0><TR><TD colSpan=3 height=22><DIV class=title align=center>JSP由浅入深(11)—— 标记库</DIV></TD></TR><TR vAlign=bottom><TD colSpan=3 height=18><DIV class=gray align=right>    </DIV><DIV class=gray></DIV><DIV align=center><FONT color=#666666>编译:ZSC/太平洋网络学院</FONT></DIV></TD></TR><TR vAlign=bottom><TD colSpan=3 height=0></TD></TR></TABLE><P>  JSP 1.1提出了一种扩展的JSP标志的方法,这种方法命名为“标志库”。这些库允许另外的一些类似于jsp:include 或者jsp:forward的标志,但是它们不是以jsp:为前缀的并且还附件一些特性。</P><P>  为了介绍标志库,在本教程中我们使用Blazix标志库作为例子。这个标志库只能用在Blazix服务器中,这个服务器你可以免费下载。</P><P>每一个标志库都有它自己的标志库特殊的文档。为了使用标志库,你可以使用"taglib" directive来指出标志库“description”处在什么地方。对于Blazix标志库而言,directive如下:</P><P>&lt;%@ taglib prefix="blx" uri="/blx.tld" %&gt;</P><P>上面者句中“uri”就是指出了标志库描述所在的地方。标志库的前缀是不同的。这个指令的意思是说我们可以使用blx:来使用库中的标志。Blazix标志库提供了一个blx:getProperty标志。这个标志可以允许用户编辑表单数据。现在,在GetName.jsp文件中,我们增加一个jsp:useBean并且将表单放置在blx:getProperty中:</P><P>&lt;%@ taglib prefix="blx" uri="/blx.tld" %&gt;</P><P>&lt;jsp:useBean id="user" class="UserData" scope="session"/&gt;</P><P>&lt;HTML&gt;</P><P>&lt;BODY&gt;</P><P>&lt;blx:getProperty name="user" property="*"&gt;</P><P>&lt;FORM METHOD=POST ACTION="SaveName.jsp"&gt;</P><P>What's your name? &lt;INPUT TYPE=TEXT NAME=username SIZE=20&gt;&lt;BR&gt;</P><P>What's your e-mail address? &lt;INPUT TYPE=TEXT NAME=email SIZE=20&gt;&lt;BR&gt;</P><P>What's your age? &lt;INPUT TYPE=TEXT NAME=age SIZE=4&gt;</P><P>&lt;P&gt;&lt;INPUT TYPE=SUBMIT&gt;</P><P>&lt;/FORM&gt;</P><P>&lt;/blx:getProperty&gt;</P><P>&lt;/BODY&gt;</P><P>&lt;/HTML&gt;</P><P>从上面的代码中我们可以发现blx:getProperty不是以/&gt;结尾的,而是用&lt;/blx:getProperty&gt;来结尾。这条语句将所有的表单输入区域输入到blx:getProperty中,这样它们就可以被标志库正确地修改。</P><P>接着建立一个从GetName.jsp到NextPage.jsp的连接,你将发现bean的数据自动显示在输入区域中。所以现在用户可以编辑数据了。</P>

韩冰 发表于 2005-1-26 00:35

<TABLE cellSpacing=8 cellPadding=0 width="100%" background=10616.files/point.gif border=0><TR><TD colSpan=3 height=22><DIV class=title align=center>JSP由浅入深(12)—— 表单编辑</DIV></TD></TR><TR vAlign=bottom><TD colSpan=3 height=18><DIV class=gray align=right>    </DIV><DIV class=gray></DIV><DIV align=center><FONT color=#666666>编译:ZSC/太平洋网络学院</FONT></DIV></TD></TR><TR vAlign=bottom><TD colSpan=3 height=0></TD></TR></TABLE><P>  比如来自Blazix服务器的标志库在你的系统环境中不能使用,那么不使用标志库来实现相似的功能呢?本教程就是为这个问题而提出的。这个问题是可以解决的,只是代码要长一点。主要地,你必须亲自编辑HTML标志,然后将它设置缺省值。从下面的例子的例子中我们可以学到怎样修改GetName.jsp以提供类似于blx:getProperty的特性,但是我们只能手工地编辑HTML标志:</P><P>&lt;jsp:useBean id="user" class="UserData" scope="session"/&gt;</P><P>&lt;HTML&gt;</P><P>&lt;BODY&gt;</P><P>&lt;FORM METHOD=POST ACTION="SaveName.jsp"&gt;</P><P>What's your name? &lt;INPUT TYPE=TEXT NAME=username</P><P>SIZE=20 VALUE="&lt;%= user.getUsername() %&gt;"&gt;&lt;BR&gt;</P><P>What's your e-mail address? &lt;INPUT TYPE=TEXT</P><P>NAME=email SIZE=20</P><P>VALUE="&lt;%= user.getEmail() %&gt;"&gt;&lt;BR&gt;</P><P>What's your age? &lt;INPUT TYPE=TEXT NAME=age</P><P>SIZE=4 VALUE=&lt;%= user.getAge() %&gt;&gt;</P><P>&lt;P&gt;&lt;INPUT TYPE=SUBMIT&gt;</P><P>&lt;/FORM&gt;</P><P>&lt;/BODY&gt;</P><P>&lt;/HTML&gt;</P><P>如上面的代码所示,它只简单地在INPUT标志上增加一个“VALUE”区域,并且用一个表达是初始化这个区域。</P><P>为了处理在输入过程中的异常错误,我们可以在bean中使用“String”区域并且将它转换为目标数据类型就可实现。所以这样也可以处理异常错误。</P><P>作为课后练习,我们可以将前面教程中的例子改成不用Blazix标志库。</P>
<P>至此,本“JSP由浅入深”系列教程到此全部结束,希望对你有帮助。</P>
页: 1 [2]
查看完整版本: JSP语法