本文整理汇总了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);
}
}
示例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);
}
}
}
示例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);
}
}
}
}
示例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(");");
}
}
}
示例5: writeDestroyInstance
private void writeDestroyInstance(String tagHandlerVar) {
if (Constants.INJECT_TAGS) {
out.printin(VAR_INSTANCEMANAGER);
out.print(".destroyInstance(");
out.print(tagHandlerVar);
out.println(");");
}
}