当前位置: 网学 > 编程文档 > JSP > 正文

使用 JSP 2.0 开发类似 JSTL 的标记

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
; 和 </u:eval>之间。     
   
EvalTag 类扩展了 VarTagSupport,这是因为它需要 export(),以便使用 var 属性指定的名称和由 evaluate() 返回的值创建 JSP 变量。如果 var 属性不存在,则 export() 无法设置变量并返回 false。这种情况下,EvalTag 使用从 VarTagSupport 继承的 write() 方法输出所求解表达式的值。     
   
EvalTag 处理类的源代码如下所示:     
   
   
package jsputils.tags;    
   
import jsputils.el.ELUtils;    
   
import javax.servlet.jsp.JspException;     [Page]
   
public class EvalTag extends VarTagSupport {    
private String strExpr;    
private Object varType;    
   
public EvalTag() {    
varType = Object.class;    
    }    
   
public void setExpr(String expr) throws JspException {    
strExpr = expr;    
    }    
   
public void setType(Object type) throws JspException {    
varType = type;    
    }    
   
protected Object evaluate(String expression,    
Object expectedType) throws JspException {    
return ELUtils.evaluate(    
expression, expectedType, getJspContext());    
    }    
   
public void doTag() throws JspException {    
if (strExpr == null)    
strExpr = invokeBody();    
Object value = evaluate(strExpr, varType);    
boolean exportexported = export(value);    
if (!exported && value != null)    
write(value.toString());    
    }    
   
}    
   
   
在库描述符中定义定制标记     
   
<u:eval> 标记定义在名为 util.tld 的 XML 文件中。JSP 容器使用此文件将定制标记映射为它的处理类 (EvalTag)。除标记的名称和标记处理类外,该描述

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号