﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-砖头-文章分类-JSTL</title><link>http://www.blogjava.net/yaozhuan/category/8677.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 08:18:45 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 08:18:45 GMT</pubDate><ttl>60</ttl><item><title>学会使用 JSTL</title><link>http://www.blogjava.net/yaozhuan/articles/36225.html</link><dc:creator>砖头</dc:creator><author>砖头</author><pubDate>Mon, 20 Mar 2006 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/yaozhuan/articles/36225.html</guid><description><![CDATA[
		<font size="2">下面是使用了简单Tag的JSP文件，运行结果是显示当前时间：<br /><br />&lt;%@ page contentType="text/html;charset=gb2312" %&gt;<br />&lt;html&gt;&lt;body&gt;<br />&lt;%@taglib uri="/tags" prefix="visa"%&gt;<br />现在时间是：&lt;visa:date/&gt;<br />&lt;/body&gt;&lt;/html&gt;<br /><br />很明显，使用了tag的JSP页清爽了许多---如果将数据库操作等一些复杂功能也封装进去的话，tag的优势就更明显了！<br /><br />**环境：win2000 server + Tomcat5.019 + j2sdk1.42 + SQLServer 2k<br />**开发一个Tag，需要编写2个主要文件：<br />1-标签处理器（一个类servlet的java类）<br />2-标签描述符（一个XML风格的tld文件）<br />完成这两个文件，就可以在WEB应用中部署、应用了。<br /><br />好了，下面我们就开始做吧！<br /><br />1-编写tag处理器：datetag.java<br /><br />它的作用就象一个Servlet，接受来自客户端的请求，但它却可以象javaBean一样在JSP中方便调用。<br />package tag;<br /><br />import java.util.Date;<br />import javax.servlet.jsp.*;<br />import javax.servlet.jsp.tagext.*;<br /><br />public class datetag extends TagSupport{<br /><br /> public int doStartTag() throws JspException{<br />  Date dte=new Date();<br />  try{<br />  JspWriter out=pageContext.getOut();<br />  out.print(dte);<br />   }<br />   catch(java.io.IOException e)<br />   {throw new JspTagException(e.getMessage());}<br /> return SKIP_BODY;<br />}<br />}<br />用 javac编译之后，就得到了 datetag.class文件了，将其放在 xxx\WEB-INF\classes\tag 目录下。<br /><br />2-编写tag库描述符：tags.tld<br />比较容易看出，&lt;tag&gt;&lt;/tag&gt;部分有点象servlet mapping的配置--这里配置的是tag的名字与tag类之间的映射。<br /><br />&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;<br />&lt;taglib&gt;<br />&lt;tlib-version&gt;1.0&lt;/tlib-version&gt;<br />&lt;jsp-version&gt;1.2&lt;/jsp-version&gt;<br /><br />&lt;tag&gt;<br /> &lt;name&gt;date&lt;/name&gt;<br /> &lt;tag-class&gt;tag.datetag&lt;/tag-class&gt;<br /> &lt;body-content&gt;empty&lt;/body-content&gt;<br />&lt;/tag&gt;<br />&lt;/taglib&gt;<br />将tags.tld保存在xxx\WEB-INF\ 目录下。<br /><br />3-配置你的web.xml：<br />配置web.xml，注册你的标签库：在web.xml的 &lt;web-app&gt;与&lt;/web-app&gt;之间添加：<br />在这里注册你的自定义标签符，在JSP中的引用名为：/tags<br />&lt;taglib&gt;<br /><br />&lt;taglib-uri&gt;/tags&lt;/taglib-uri&gt;<br />&lt;taglib-location&gt;/WEB-INF/tags.tld&lt;/taglib-location&gt;<br /><br />&lt;/taglib&gt;<br /><br />4-开始在JSP中使用！<br />因为已经在web.xml中注册过，通过 /tags 引用你的标签库；<br />prefix的作用就象&lt;jsp:useBean/&gt;中的 id，只是作为一个标志（可任意定义）<br />&lt;visa:date/&gt; 很明显，通过调用date，就等于调用了 datetag.class ：<br /><br />&lt;%@ page contentType="text/html;charset=gb2312" %&gt;<br />&lt;html&gt;&lt;body&gt;<br />&lt;%@taglib uri="/tags" prefix="visa"%&gt;<br />现在时间是：&lt;visa:date/&gt;<br />&lt;/body&gt;&lt;/html&gt;<br /></font>
<img src ="http://www.blogjava.net/yaozhuan/aggbug/36225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yaozhuan/" target="_blank">砖头</a> 2006-03-20 10:30 <a href="http://www.blogjava.net/yaozhuan/articles/36225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>