当前位置: 首页>>代码示例>>Java>>正文


Java Constants.INJECT_TAGS属性代码示例

本文整理汇总了Java中org.apache.jasper.Constants.INJECT_TAGS属性的典型用法代码示例。如果您正苦于以下问题:Java Constants.INJECT_TAGS属性的具体用法?Java Constants.INJECT_TAGS怎么用?Java Constants.INJECT_TAGS使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.apache.jasper.Constants的用法示例。


在下文中一共展示了Constants.INJECT_TAGS属性的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: get

/**
 * Gets the next available tag handler from this tag handler pool,
 * instantiating one if this tag handler pool is empty.
 *
 * @param handlerClass Tag handler class
 *
 * @return Reused or newly instantiated tag handler
 *
 * @throws JspException if a tag handler cannot be instantiated
 */
public Tag get(Class handlerClass) throws JspException {
	Tag handler;
    synchronized( this ) {
        if (current >= 0) {
            handler = handlers[current--];
            return handler;
        }
    }

    // Out of sync block - there is no need for other threads to
    // wait for us to construct a tag for this thread.
    try {
    	if (Constants.USE_INSTANCE_MANAGER_FOR_TAGS) {
    		return (Tag) instanceManager.newInstance(handlerClass.getName(), handlerClass.getClassLoader());
    	} else {
            Tag instance = (Tag) handlerClass.newInstance();
            if (Constants.INJECT_TAGS) {
                instanceManager.newInstance(instance);
            }
            return instance;
    	}
    } catch (Exception e) {
        throw new JspException(e.getMessage(), e);
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:35,代码来源:TagHandlerPool.java

示例2: reuse

/**
 * Adds the given tag handler to this tag handler pool, unless this tag
 * handler pool has already reached its capacity, in which case the tag
 * handler's release() method is called.
 *
 * @param handler Tag handler to add to this tag handler pool
 */
public void reuse(Tag handler) {
    synchronized( this ) {
        if (current < (handlers.length - 1)) {
            handlers[++current] = handler;
            return;
        }
    }
    // There is no need for other threads to wait for us to release
    handler.release();
    if (Constants.INJECT_TAGS) {
        try {
            instanceManager.destroyInstance(handler);
        } catch (Exception e) {
            log.warn("Error processing preDestroy on tag instance of "
                    + handler.getClass().getName(), e);
        }
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:25,代码来源:TagHandlerPool.java

示例3: release

/**
 * Calls the release() method of all available tag handlers in this tag
 * handler pool.
 */
public synchronized void release() {
    for (int i = current; i >= 0; i--) {
        handlers[i].release();
        if (Constants.INJECT_TAGS) {
            try {
                instanceManager.destroyInstance(handlers[i]);
            } catch (Exception e) {
                log.warn("Error processing preDestroy on tag instance of "
                        + handlers[i].getClass().getName(), e);
            }
        }
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:TagHandlerPool.java

示例4: writeNewInstance

private void writeNewInstance(String tagHandlerVar, String tagHandlerClassName) {
    if (Constants.USE_INSTANCE_MANAGER_FOR_TAGS) {
        out.printin(tagHandlerClassName);
        out.print(" ");
        out.print(tagHandlerVar);
        out.print(" = (");
        out.print(tagHandlerClassName);
        out.print(")");
        out.print(VAR_INSTANCEMANAGER);
        out.print(".newInstance(\"");
        out.print(tagHandlerClassName);
        out.println("\", this.getClass().getClassLoader());");
    } else {
        out.printin(tagHandlerClassName);
        out.print(" ");
        out.print(tagHandlerVar);
        out.print(" = (");
        out.print("new ");
        out.print(tagHandlerClassName);
        out.println("());");
        if (Constants.INJECT_TAGS) {
        out.printin(VAR_INSTANCEMANAGER);
        out.print(".newInstance(");
        out.print(tagHandlerVar);
        out.println(");");
    }
}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:28,代码来源:Generator.java

示例5: writeDestroyInstance

private void writeDestroyInstance(String tagHandlerVar) {
    if (Constants.INJECT_TAGS) {
    out.printin(VAR_INSTANCEMANAGER);
    out.print(".destroyInstance(");
    out.print(tagHandlerVar);
    out.println(");");
}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:Generator.java


注:本文中的org.apache.jasper.Constants.INJECT_TAGS属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。