选择显示字体大小

用jsp定制标签创建丰富的超连接(一)

  
当今由html支持的连接机制(<a href=&quot;destination.html&quot;>)允许创建有唯一地址的
超连接,为了能在超连接上增加上下文相联系的地址,我们需要提供一些嵌入语(比如:
&quot;download pdf version,&quot; &quot;download word version,&quot;等等)或者使其跳转到页面的另一部分(比
如:a &quot;resources&quot;),有时候会导使读者找不到上下文。如果我们把这些附加的地址潜入到
一个超连接里,就可以极大的提高页面的使用价值。这些嵌入的连接可以指向另外一些资源,
以使我们在同一区域聚集更多需要的信息。
        为了能在一个超连接里嵌入一些连接,或许你可能会采用以下方式:
<a href=&quot;main_destination.html&quot;
    href1=&quot;embedded_destination1.html&quot; text1=&quot;embedded hypertext1&quot;
    href2=&quot;embedded_destination2.html&quot; text2=&quot;embedded hypertext2&quot;
    href3=&quot;embedded_destination3.html&quot; text3=&quot;embedded hypertext3&quot;
    href4=&quot;embedded_destination4.html&quot; text4=&quot;embedded hypertext4&quot;>main hypertext
</a>
        或者以标签嵌套的方式,比如:
<a href=&quot;main_destination.html&quot;>main hypertext
    <a href=&quot;embedded_destination1.html&quot;>embedded hypertext1</a>
    <a href=&quot;embedded_destination2.html&quot;>embedded hypertext2</a>
    <a href=&quot;embedded_destination3.html&quot;>embedded hypertext3</a>
    <a href=&quot;embedded_destination4.html&quot;>embedded hypertext4</a>
</a>
        很不幸的是以这种方式根本不能达到要求也不符合html规范,如果这样的话会使得
头连接忽略附加的那些连接并且把这些连接罗列出来
大家都知道,使得用户能接受一些新功能的关键是在于它的可用性。因此,任何扩展连
接的方法都不是行之有效的,而应该采用一种类似于导航条的机制以使用户能轻而易举的理解和接受它。我们可以把一个下拉式的图标安置在超连接旁边,点击该图标就会显示那些嵌入的超连接。正如下图所示:

其实这就是我们所熟悉的动态菜单的思想,但它是和html文本内容相互独立。虽然每一个菜单仅含有几行html代码,但要为每一个含有多重目的文件的超连接都编写这样的代码显然是不切实际的。我们需要一种简单、正式、类似于标记形式的结构,并且易于理解和使用,就像是我们开头提到的那两种方式。这就需要开发者们把注意力集中在内容的是献上而不是规划上。
        在我叙述我的解决方法之前,我先提一点,很多支持这种复杂的对于web. xml与它的相关链接标准的工作已经在进行中,比如:xlink 和 xpointer,这俩都是在w3c里定义的标准,允许支持丰富的超链接功能。但这种高级连接标准依然没有被流行的浏览器支持(inte.net explorer就不支持:xlink),另外,:xlink很复杂,对于一般的web站点是承受不起的。
        下面将来简单阐释一下如何用jsp定制标签(custom tags)结合xml来创建丰富的超连接。        

jsp 标签(tags)
        jsp tags在jsp页面提供了一种可重用性的强大机制,已于读写和维护页面,它使得java
程序员在jsp代码里可以写出xml样式的标签而不是scriptlets,与html标记配合更加协调。这些标签是服务器端的资源,这些资源包含了用来为页面产生内容的应用逻辑。这样就增强了用户界面和&rdquo;内容生成&ldquo;逻辑之间的划分。

自定义标签(the custom tag)        
        从此处下载源代码(download the source code for this article)
        创建一个定制标签,首先我们先建立一个描述符(tld)文件,用来描述标签的名字和属性,并把它和一个class文件联系起来。tld文件是基于xml格式的,放在服务器端的web-inf目录里,这些文件是web容器用来验证jsp tags的,下面这个tld文件名字是multilink.tld:
        <tag>
    <name>multi</name>
    <tagclass>util.tags.multilinktag</tagclass>
    <bodycontent>tagdependent</bodycontent>
    <attribute>
        <name>id</name>
        <required>true</required>
    </attribute>
    <attribute>
        <name>href</name>
        <required>true</required>
    </attribute>
    <attribute>
        <name>text</name>
        <required>true</required>
    </attribute>
    <attribute>
        <name>metalinks</name>
        <required>true</required>
    </attribute>
    <attribute>
        <name>onmouseover</name>
        <required>false</required>
    </attribute>
</tag>
        

翻译&mdash;用jsp定制标签创建丰富的超连接之二  
                                
http://www.matrix.org.cn/article_view.asp?id=444
matrix开源技术经onjava授权翻译并发布.
如果你对此文章有任何看法或建议,请到matrix论坛发表您的意见.
注明: 如果对matrix的翻译文章系列感兴趣,请点击oreilly和javaworld文章翻译计划查看详细情况
您也可以点击-javamen查看翻译作者的详细信息.


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons