首页 >> 读书频道 >> 电脑 >> JSP中的TagLib应用(4-1)
 
· JSP中的TagLib应
· JSP中的TagLib应
· JSP中的TagLib应
· JSP中的TagLib应
· JSP中的TagLib应
· JSP中的TagLib应
· JSP语法(13)
· JSP语法(12)
· JSP语法(11)
· JSP语法(9)
· JSP语法(8)
· JSP语法(7)
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

JSP中的TagLib应用(4-1)


查看有无更新版本

关键字:JSP 2006-9-4

 

面到了关键部分乐。 对tag进行处理。其实很多情况下我们是使用已经提供的taglib.
别人/公司已经做好了tag和处理部分,打好了包 我们需要做的只是在我们的jsp中去应用.
但是当我们自己做个taglib时, 就需要编写这部分tag handler了.
这里只针对上面文件里提到的insert tag,其他的为了避免重复,就不一一说明了
==================== InsertTag.java==============================
/*
* $Id: InsertTag.java,v 1.13 2000/03/04 02:54:57 brydon Exp $
* Copyright 1999 Sun Microsystems, Inc. All rights reserved.
* Copyright 1999 Sun Microsystems, Inc. Tous droits réservés.
*/
package com.sun.estore.taglib;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
import com.sun.estore.util.Debug;
/**
* This class is an easy interface to the JSP template or other
* text that needs to be inserted.
* @author Greg Murray
*/
public class InsertTag extends TagSupport {
private boolean directInclude = false;
private String parameter = null;
private String templateName = null;
private Template template = null;
private TemplateParameter templateParam = null;
/**
* default constructor
*/
public InsertTag() {
super();
}
public void setTemplate(String templateName){
this.templateName = templateName;
}
public void setParameter(String parameter){
this.parameter = parameter;
}
public int doStartTag() {
try{
if (templateName != null){
template = (Template)pageContext.getRequest().getAttribute("template");
}
} catch (NullPointerException e){
Debug.println("Error extracting template from session: " + e);
}
if (parameter != null && template != null) templateParam = (TemplateParameter)template.getParam(parameter);
if (templateParam != null) directInclude = templateParam.isDirect();
return SKIP_BODY;
}
public int doEndTag() throws JspTagException {
try{
pageContext.getOut().flush();
} catch (Exception e){
// do nothing
}
try {
if (directInclude && templateParam != null) {
pageContext.getOut().println(templateParam.getValue());
} else if (templateParam != null) {
if (templateParam.getValue() != null) pageContext.getRequest().getRequestDispatcher(templateParam.getValue()).include(pageContext.getRequest(), pageContext.getResponse());
}
} catch (Throwable ex) {
ex.printStackTrace();
}
return EVAL_PAGE;
}
}
可以看到。InsertTag.java继承了javax.servlet.jsp.tagext.TagSupport类. 因为在TagSupport中定义了一些接口.

JSP中的TagLib应用(4-1)

[ 1 ]
JSP中的TagLib应用(4-1) num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑