JRUN3.0作为JSP技术的一种重要引擎,不仅操作方便,易于使用,而且具有良好的性能,提供了很多出色的Tag Library(标记库,类似于函数或组件),方便用户的使用。因此,JRUN3.0是一种很理想的服务平台。而Tag Library作为JSP的重要技术之一,还没有受到人们的充分重视。本文以JRUN3.0作为服务平台,通过调用JRUN自身提供的Tag Library,即Jruntags,实现发送E-mail的全部功能。希望能与广大JSP爱好者一起探讨,充分掌握并应用Tag Library。
我们先看一下实现发送Email功能的一段代码:
mail.jsp
% taglib uri="jruntags" prefix="jrun" %>
<html>
<head>
<title>试验jruntags发送Email</title>
</head>
<body>
<jrun:sendmail host="smtp.yeah.net" port="25" timeout="5000"
sender="delphiasp yeah.net"
recipient="mcs99 263.net"
subject="My email from jruntags">
<jrun:mailparam attachurl="readme.txt"/>
Hi,
This is my succeed!
</jrun:sendmail>
Succeed in Email!
</body>
</html>
我们将mail.jsp保存到安装jrun目录的\servers\default\default-app目录下,在IE中用http://localhost:8100/mail.jsp访问,可以见到发送Email成功的提示。
现在,对上面的代码做详细的解释说明:
(1) 这是JSP中的基本语法,taglib指令表明引用一个标签库jruntags,并定义了一个标签的前缀,即jrun。这样,在下面的各标签的引用中我们可以用这个前缀来指定标签。
(2)在....中,前面是标明sendmail这一Tag的开始,后者是Tag的结束。这一点与HTML语言中的标记相似,如....等。
(3)Tag标签可能有属性(Attribute),如sendmail标签中有host、port、timeout、sender、recipient、subject等,这些属性定义了发送到对方信箱(mcs99 263.net)的参数。本例中host表明发送Email时,连接的smtp服务器是smtp.yeah.net;port与timeout两个参数可以缺省,它们的缺省值分别是25与3000;sender是显示给接收方发送者的E-mail地址,recipient=mcs99 263.net指明了将email发送到mcs99 263.net信箱。
(4)如何指定信件的标题、内容和发送附件?subject,读者一看便知,本例中My e-mail from jruntags就是这封信件的一个标题。我们用另一个Tag来使这封E-mail带上附件,这个Tag就是mailparam,attachurl是这个Tag的属性,如
这时的附件readme.txt必须放在mail.jsp同一个目录下(\servers\default\default-app)。E-mail的内容只要放在结束标记的前面就可以了,如mail.jsp文件中的代码。
用jruntags实现E-mail的发送,就是这么简单,可见]Tag Library的强大之处吧!jruntag还可以实现E-mail的接收、发送message、执行sql查询、显示Form中的元素等功能,对jruntag有兴趣的读者,可以从jrun的安装目录下D:\JRun\servers\default\demo-app\taglib目录中的例子了解更多jruntag的功能。不仅如此,如果用户想扩充功能,用户还可以自行开发出需要的Tag Library来,然后在JSP中用taglib指令来调用。可以想象,JSP结合XML编程的美好前景。

