當前位置: 首頁>>代碼示例>>Java>>正文


Java MethodInvocationException.getWrappedThrowable方法代碼示例

本文整理匯總了Java中org.apache.velocity.exception.MethodInvocationException.getWrappedThrowable方法的典型用法代碼示例。如果您正苦於以下問題:Java MethodInvocationException.getWrappedThrowable方法的具體用法?Java MethodInvocationException.getWrappedThrowable怎麽用?Java MethodInvocationException.getWrappedThrowable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.velocity.exception.MethodInvocationException的用法示例。


在下文中一共展示了MethodInvocationException.getWrappedThrowable方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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: 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

示例3: 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.getWrappedThrowable方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。