电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > javascript > 正文
利用JSP 2.0开发Web应用程序(二)
利用JSP 2.0开发Web应用程序(二)
2005-12-30 19:21:10  文/45IT收集   出处:电脑软硬件应用网   

标签处理器
JSP 1.2中传统的标签处理API由于允许标签体中包含scriptlet而变得复杂,但是现在利用表达式语言可以编写不含scriptlet的JSP网页。最终,JSP 2.0引入了一种新的标签扩展机制,称为“简单标签扩展”,这种机制有两种使用方式:

Java开发人员可以定义实现接口javax.servlet.jsp.tagext.SimpleTag的类; 
不懂Java的网页编写人员则可以使用标签文件。 
首先来看第一种方式,代码示例6给出了一个简单的标签处理器,它的作用仅仅是打印“This is my first tag! ”。

代码示例6: HelloTag.java 

package jsp2.examples.simpletag;
import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;
/**  * SimpleTag handler that prints "This is my first tag!"  */  public class HelloTag extends SimpleTagSupport {        public void doTag() throws JspException, IOException {                getJspContext().getOut().write("This is my first tag!");        }}
编译成功后,下一步就要在TLD中定义一个标签描述符,下面是标签描述符的例子。 

代码示例7: 标签描述符 

    <tag>        <description>Prints this is my first tag</description>        <name>hello</name>        <tag-class>jsp2.examples.simpletag.HelloTag</tag-class>        <body-content>empty</body-content>    </tag>
最后再编写一个使用上述标签的JSP页面文件,见代码示例8。 

代码示例8: helloworld.jsp 

<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %><HTML><HEAD><TITLE>Simple Tag Handler</TITLE></HEAD>
<BODY><H2>Simple Tag Handler</H2><P><B>My first tag prints</B>: <mytag:hello/></BODY></HTML>
要运行这个例子:

复制HelloTg.java并保存到C:\Tomcat5.0\webapps\jsp-examples\WEB-INF\classes\jsp2\examples\simpletag下; 
使用javac编译HelloTag.java; 
把代码示例7中的标签描述符添加到文件C:\Tomcat5.0\webapps\jsp-examples\WEB-INF\jsp2\jsp2-example-taglib.tld中的</taglib>之前; 
复制helloworld.jsp并保存到c:\Tomcat5.0\webapps\jsp-examples\jsp2-tutorial目录中; 
用浏览器打开helloworld.jsp。 
如果一切正常,应该会看到类似如图4所示的画面。 

图4:简单标签处理器 

标签文件
使用简单标签扩展机制的另一种方法是通过标签文件。标签文件是一种资源文件,网页作者可以利用它抽取一段JSP代码,通过定制功能来实现代码的复用。换句话说,标签文件允许JSP网页作者使用JSP语法创建可复用的标签库。标签文件的扩展名必须是“.tag”。

为说明使用标签文件是多么容易,考虑一下代码示例9。没错,这就是一个标签文件!

代码示例9: greetings.tag 

Hello there. How are you doing?
一旦定义了标签文件,就可以在JSP网页的编写中使用这种定制的功能。比如代码示例10中的JSP网页。

代码示例10: chat.jsp 

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %><HTML><HEAD><TITLE>JSP 2.0 Examples - Hello World Using a Tag File</TITLE></HEAD><BODY><H2>Tag File Example</H2><P><B>The output of my first tag file is</B>: <tags:greetings/></BODY></HTML>
要运行这个例子:

复制标签文件greetings.tags并保存在c:\Tomcat5.0\webapps\jsp-examples\WEB-INF\tags 目录下; 
复制JSP网页文件char.jsp并保存在c:\Tomcat5.0\webapps\jsp-examples\jsp2-tutorial 目录下; 
用浏览器打开chat.jsp文件。 

如果一切正常,应该会看到类似如图5所示的窗口。 


图5:简单的标签文件


--------------------------------------------------------------------------------

注意: 重要的是要注意到这里没有为问候标签编写TLD,而是创建了一个标签文件并放在特殊的目录中,然后用taglib指令导入并直接使用它。


--------------------------------------------------------------------------------

另一个标签文件的例子
标签文件可以作为模板使用。考虑代码示例11中的标签文件display.tag,这个例子是根据Tomcat 5.0中的面板的例子改写的。指令attribute类似于TLD中的<attribute>元素,允许声明自定义的动作属性。

代码示例11: display.tag 

<%@ attribute name="color" %><%@ attribute name="bgcolor" %><%@ attribute name="title" %><TABLE border="0" bgcolor="${color}">
    <TR>         <TD><B>${title}</B></TD>     </TR>    <TR>        <TD bgcolor="${bgcolor}">            <jsp:doBody/>        </TD>    </TR></TABLE>
代码示例12给出了使用上述标签的一个简单的JSP页面。

代码示例12: newsportal.jsp 

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %><HTML><HEAD><TITLE>Another Tag File Example</TITLE></HEAD><BODY><H2>News Portal: Another Tag File Example</H2>          <TABLE border="0">
                <TR valign="top">                    <TD>                        <tags:display color="#ff0000" bgcolor="#ffc0c0"                                title="Travel">                           Last French Concorde Arrives in NY<br/>                           Another Travel Headline<br/>                           Yet Another Travel Headline<br/>                        </tags:display>                    </TD>                    <TD>                        <tags:display color="#00fc00" bgcolor="#c0ffc0"                                title="Technology">                            Java for in-flight entertainment<BR>                            Another Technology Headline<BR>                            Another Technology Headline<BR>                        </tags:display>                    </TD>                    <TD>                        <tags:display color="#ffcc11" bgcolor="#ffffcc"                                title="Sports">                            American Football<BR/>                            NBA<BR/>                            Soccer<BR/> &

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    javascript实用技巧点滴(三)
    javascript实用技巧点滴(2)
    javascript实用技巧点滴(1)
    javascript教程 - 第一课 1.1
    用js制作完善的日,月组合下拉框
    利用JSP编程建立动态Web站点
    用PHP制作留言板
    PHP生成动态WAP页面
    PHP实现文件下载
    PHP4的session功能
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号