jodd-madvoc/src/main/java/jodd/madvoc/result/AbstractTemplateViewActionResult.java
@Override
	public void render(final ActionRequest actionRequest, final Object resultValue) throws Exception {
		final PathResult pathResult;

		if (resultValue == null) {
			pathResult = resultOf(StringPool.EMPTY);
		} else {
			if (resultValue instanceof String) {
				pathResult = resultOf(resultValue);
			}
			else {
				pathResult = (PathResult) resultValue;
			}
		}

		final String resultBasePath = actionRequest.getActionRuntime().getResultBasePath();

		final String path = pathResult != null ? pathResult.path() : StringPool.EMPTY;

		final String actionAndResultPath = resultBasePath + (pathResult != null ? ':' + path : StringPool.EMPTY);

		String target = targetCache.get(actionAndResultPath);

		if (target == null) {
			if (log.isDebugEnabled()) {
				log.debug("new target: " + actionAndResultPath);
			}

			target = resolveTarget(actionRequest, path);

			if (target == null) {
				targetNotFound(actionRequest, actionAndResultPath);
				return;
			}

			if (log.isDebugEnabled()) {
				log.debug("target found: " + target);
			}

			// store target in cache
			targetCache.put(actionAndResultPath, target);
		}

		// the target exists, continue
		renderView(actionRequest, target);
	}
@Override
	public void render(final ActionRequest actionRequest, final Object resultValue) throws Exception {
		final PathResult pathResult;

		if (resultValue == null) {
			pathResult = resultOf(StringPool.EMPTY);
		} else {
			if (resultValue instanceof String) {
				pathResult = resultOf(resultValue);
			}
			else {
				pathResult = (PathResult) resultValue;
			}
		}

		final String resultBasePath = actionRequest.getActionRuntime().getResultBasePath();

		final String path = pathResult != null ? pathResult.path() : StringPool.EMPTY;

		final String actionAndResultPath = resultBasePath + (pathResult != null ? ':' + path : StringPool.EMPTY);

		String target = targetCache.get(actionAndResultPath);

		if (target == null) {
			if (log.isDebugEnabled()) {
				log.debug("new target: " + actionAndResultPath);
			}

			target = resolveTarget(actionRequest, path);

			if (target == null) {
				targetNotFound(actionRequest, actionAndResultPath);
				return;
			}

			if (log.isDebugEnabled()) {
				log.debug("target found: " + target);
			}

			// store target in cache
			targetCache.put(actionAndResultPath, target);
		}

		// the target exists, continue
		renderView(actionRequest, target);
	}
@ Override public void render ( final ActionRequest actionRequest , final Object resultValue ) throws Exception { final PathResult pathResult ; if ( resultValue == null ) { pathResult = resultOf ( StringPool . EMPTY ) ; } else { if ( resultValue instanceof String ) { pathResult = resultOf ( resultValue ) ; } else { pathResult = ( PathResult ) resultValue ; } } final String resultBasePath = actionRequest . getActionRuntime ( ) . getResultBasePath ( ) ; final String path = pathResult != null ? pathResult . path ( ) : StringPool . EMPTY ; final String actionAndResultPath = resultBasePath + ( pathResult != null ? ' ' + path : StringPool . EMPTY ) ; String target = targetCache . get ( actionAndResultPath ) ; if ( target == null ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "new target: " + actionAndResultPath ) ; } target = resolveTarget ( actionRequest , path ) ; if ( target == null ) { targetNotFound ( actionRequest , actionAndResultPath ) ; return ; } if ( log . isDebugEnabled ( ) ) { log . debug ( "target found: " + target ) ; } // store target in cache targetCache . put ( actionAndResultPath , target ) ; } // the target exists, continue renderView ( actionRequest , target ) ; }
Dispatches to the template location created from result value and JSP extension.
Does its forward via a <code>RequestDispatcher</code>. If the dispatch fails, a 404 error
will be sent back in the http response.
Dispatches to the template location created from result value and JSP extension . Does its forward via a <code > RequestDispatcher< / code > . If the dispatch fails a 404 error will be sent back in the http response .