本文整理汇总了Java中org.apache.velocity.exception.MethodInvocationException.getReferenceName方法的典型用法代码示例。如果您正苦于以下问题:Java MethodInvocationException.getReferenceName方法的具体用法?Java MethodInvocationException.getReferenceName怎么用?Java MethodInvocationException.getReferenceName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.velocity.exception.MethodInvocationException
的用法示例。
在下文中一共展示了MethodInvocationException.getReferenceName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: mergeTemplate
import org.apache.velocity.exception.MethodInvocationException; //导入方法依赖的package包/类
/**
* Merge the template with the context.
* Can be overridden to customize the behavior.
* @param template the template to merge
* @param context the Velocity context to use for rendering
* @param response servlet response (use this to get the OutputStream or Writer)
* @throws Exception if thrown by Velocity
* @see org.apache.velocity.Template#merge
*/
protected void mergeTemplate(
Template template, Context context, HttpServletResponse response) throws Exception {
try {
template.merge(context, response.getWriter());
}
catch (MethodInvocationException ex) {
Throwable cause = ex.getWrappedThrowable();
throw new NestedServletException(
"Method invocation failed during rendering of Velocity view with name '" +
getBeanName() + "': " + ex.getMessage() + "; reference [" + ex.getReferenceName() +
"], method '" + ex.getMethodName() + "'",
cause==null ? ex : cause);
}
}
示例2: evaluateVTL
import org.apache.velocity.exception.MethodInvocationException; //导入方法依赖的package包/类
/**
* @param vtlInput
* @param c
* @return String
*/
public String evaluateVTL(String vtlInput, Context c) {
StringWriter wOut = new StringWriter(10000);
try {
ve.evaluate(c, wOut, "internalEvaluator", vtlInput);
} catch (MethodInvocationException me) {
throw new OLATRuntimeException(VelocityHelper.class, "MethodInvocationException occured while merging template: methName:" + me.getMethodName()
+ ", refName:" + me.getReferenceName(), me);
} catch (Exception e) {
throw new OLATRuntimeException(VelocityHelper.class, "exception occured while merging template: " + e.getMessage(), e);
}
return wOut.toString();
}
示例3: merge
import org.apache.velocity.exception.MethodInvocationException; //导入方法依赖的package包/类
/**
* @param template
* e.g. org/olat/demo/_content/index.html
* @param c
* the context
* @param theme
* the theme e.g. "accessibility" or "printing". may be null if the default theme ("") should be taken
* @return String the rendered template
*/
private String merge(String template, Context c, String theme) {
StringWriter wOut = new StringWriter(10000);
try {
Template vtemplate = null;
if (log.isDebugEnabled())
log.debug("Merging template::" + template + " for theme::" + theme, null);
if (theme != null) {
// try the theme first, if resource not found exception, fallback to normal resource.
// e.g. try /_accessibility/index.html first, if not found, try /index.html.
// this allows for themes to only provide the delta to the default templates
// todo we could avoid those string operations, if the performance gain is measureable
int latestSlash = template.lastIndexOf('/');
StringBuilder sb = new StringBuilder(template.substring(0, latestSlash));
sb.append("/_").append(theme).append("/").append(template.substring(latestSlash + 1));
String themedTemplatePath = sb.toString();
// check cache
boolean notFound;
synchronized (resourcesNotFound) { // o_clusterOK by:fj
notFound = resourcesNotFound.contains(themedTemplatePath);
}
if (!notFound) {
// never tried before -> try to load it
if (!ve.templateExists(themedTemplatePath)) {
// remember not found (since velocity doesn't) then try fallback.
// this will happen once for each theme when a resource does not exist in its themed variant but only in the default theme.
if (!isDebugging) {
synchronized (resourcesNotFound) { // o_clusterOK by:fj
resourcesNotFound.add(themedTemplatePath);
}
} // for debugging, allow introduction of themed files without restarting the application
} else {
// template exists -> load it
vtemplate = ve.getTemplate(themedTemplatePath, getInputEncoding());
}
}
// if not found, fallback to standard
if (vtemplate == null) {
vtemplate = ve.getTemplate(template, getInputEncoding());
}
} else {
// no theme, load the standard template
vtemplate = ve.getTemplate(template, getInputEncoding());
}
vtemplate.merge(c, wOut);
} catch (MethodInvocationException me) {
throw new OLATRuntimeException(VelocityHelper.class, "MethodInvocationException occured while merging template: methName:" + me.getMethodName()
+ ", refName:" + me.getReferenceName(), me.getWrappedThrowable());
} catch (Exception e) {
throw new OLATRuntimeException(VelocityHelper.class, "exception occured while merging template: " + e.getMessage(), e);
}
return wOut.toString();
}
示例4: mergeTemplate
import org.apache.velocity.exception.MethodInvocationException; //导入方法依赖的package包/类
/**
* Merge the template with the context. Can be overridden to customize the
* behavior.
*
* @param template
* the template to merge
* @param context
* the Velocity context to use for rendering
* @param response
* servlet response (use this to get the OutputStream or Writer)
* @throws Exception
* if thrown by Velocity
* @see org.apache.velocity.Template#merge
*/
protected void mergeTemplate(Template template, Context context, HttpServletResponse response) throws Exception {
try {
template.merge(context, response.getWriter());
} catch (MethodInvocationException ex) {
Throwable cause = ex.getWrappedThrowable();
throw new NestedServletException("Method invocation failed during rendering of Velocity view with name '"
+ getBeanName() + "': " + ex.getMessage() + "; reference [" + ex.getReferenceName() + "], method '"
+ ex.getMethodName() + "'", cause == null ? ex : cause);
}
}