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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
p;   
}    
   
   
请注意,如果只想输出由 JSP 主体生成的内容,则可以使用 null 参数调用 invoke() 方法。如果不调用 invoke(),则不执行定制标记的 JSP 主体。     
   
在标记执行过程中生成内容     
   
标记处理类可以使用由 JSP 上下文的 getOut() 方法返回的 JspWriter 输出内容:     
   
   
package jsputils.tags;    
   
import javax.servlet.jsp.JspContext;    
import javax.servlet.jsp.JspException;    
import javax.servlet.jsp.JspWriter;    
import javax.servlet.jsp.tagext.SimpleTagSupport;    
    
import java.io.IOException;    
   
public class VarTagSupport extends SimpleTagSupport {    
        
protected void write(String str) throws JspException {     [Page]
JspContext jspContext = getJspContext();    
JspWriter out = jspContext.getOut();    
try {    
out.write(str);    
} catch (IOException x) {    
throw new JspException(x);    
        }    
    }    
   
}    
   
   
开发导出变量的定制标记     
   
“使用 JSP 2.0 EL API”介绍了名为 ELUtils 的类的开发,该类的方法在 Java 代码中求解 JSP 表达式。当您要在 JSP 页面外使用 EL时(如在 XML 文件中使用),EL API 将很有帮助。在“使用 JSP 2.0 EL API”中,我们将 ELUtils 的静态方法映射为 EL 函数。这次,我们将构建一个定制标记 (<u:eval>),它调用 ELUtils 的某个 evaluate() 方法。<u:eval> 标记由名为 EvalTag 的类处理,该类为 <u:eval> 的属性实现两个设置方法(setExpr() 和 setType())。属性 expr 和 type 的值被传递给 evaluate() 方法,该方法返回表达式的值。     
   
如果 expr 属性不存在,则 doTag() 方法将调用从 VarTagSupport 类继承的 invokeBody() 方法以取得主体内容(应为表达式)。因此,调用 <u:eval> 标记的 JSP 页面可以将表达式指定为 expr 属性的值或置于 <u:eval>

网学推荐

免费论文

原创论文

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