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


Java MethodInvocationException.getReferenceName方法代码示例

本文整理汇总了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);
	}
}
 
开发者ID:ghimisradu,项目名称:spring-velocity-adapter,代码行数:25,代码来源:VelocityView.java

示例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();
}
 
开发者ID:huihoo,项目名称:olat,代码行数:19,代码来源:VelocityHelper.java

示例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();
}
 
开发者ID:huihoo,项目名称:olat,代码行数:68,代码来源:VelocityHelper.java

示例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);
	}
}
 
开发者ID:liufeiit,项目名称:sharding,代码行数:25,代码来源:VelocityView.java


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