e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 程序开发 >> JSP教程 >> 深入浅出taglib >> 教程正文
 
教程搜索
 
 
相关教程
  • JSP分页技术实现
  • 使用XML封装数据库操作语句的实现(完
  • 结合”XML封装数据库操作语句的实现”
  • 如何使用XML实现多渠道接入网站的构架
  • 深入浅出taglib
  • 在JSP中编写你的第一个Tag
  • 用Java实现Web服务器
  • 如何利用xml,javascript绕开apple
  • 缓存JSP显示的内容
  • 关于JAVA的分页查询操作技术
  • 漫步j2ee之jsp技术(1)
  • 漫步j2ee之jsp技术(2)
  • Portlet应用开发(Portlet Specs v1.0)
  • 如何用jsp输出存在于oracle数据库Blob
  • Servlet设计
  • 用servlet显示图片
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
深入浅出taglib
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9
TagSupport.findAncestorWithClass(from, class)或TagSupport.getParent方法。前者在当不确定此tag是否为嵌套tag对象时使用。一旦它的父类被找到,它就能访问其所有动态或静态创建的对象。静态创建的对象是父类的成员,而动态创建的对象可能是父类的私有对象。诸如此类的对象可以用tag处理类的setValue方法来保存,用getValue方法来获得。

下例阐述了以上两种共享对象的方法。在这个例子当中,一个查询tag检查一个名为connection的属性名是否在doStartTag中被设置。如果connection属性被设置,tag处理类从pageContext中得到这个connection对象。否则,此tag处理类先找到它的父tag处理类,然后从它的父tag处理类中找到connection对象。

  1. public class

    QueryTag extends BodyTagSupport
  2. {
  3. private String connectionId;
  4. public int doStartTag() throws JspException
  5. {
  6. String cid = getConnection();
  7. if (cid != null )
  8. {
  9. //存在一个connection id,使用它。
  10. connection = (Connection) pageContext.getAttribute(cid);
  11. }
  12. else
  13. {
  14. ConnectionTag ancestorTag = (ConnectionTag)findAncestorWithClass(this ,
  15. ConnectionTag.class );
  16. if (ancestorTag == null )
  17. {
  18. throw new JspTagException(“一个没有connection属性的查询标签必须被一个connection标记嵌套。”);
  19. }
  20. connection = ancestorTag.getConnection();
  21. }
  22. }
  23. }

此查询标签在JSP页面中的调用形式可以从以下2种定义中任选一种:

<tt:connection id=”con01” ...> ... </tt:connection>

<tt:query id=”balances” connection=”con01” >

SELECT account, balance FROM acct_table

where customer_num = <%= request.getCustno() %>

</tt:query>

或

<tt:connection ...>

<x:query id=”balances”>

SELECT account, balance FROM acct_table

where customer_num = <%= request.getCustno() %>

</x:query>


</tt:connection>

与此同时,在TLD中必须指定connection属性为可选的,定义如下:

<tag>

...

<attribute>

<name>connection</name>

<required>false</required>

</attribute>

</tag>

作者简介:

罗小虎,男,24岁,现在在荆州市农村信用社任技术主管,本科,研究方向:java和面像对向的软件工程。

电子邮件:smltiger@sina.com


上一页  1 2 3 4 5 
  • 上一篇教程: 在JSP中编写你的第一个Tag
  • 下一篇教程: 如何使用XML实现多渠道接入网站的构架
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.