jodd-madvoc/src/main/java/jodd/madvoc/result/ServletPermanentRedirectActionResult.java
@Override
	public void render(final ActionRequest actionRequest, final Object resultValue) {
		final PermRedirect redirectResult;

		if (resultValue == null) {
			redirectResult = PermRedirect.to(StringPool.SLASH);
		} else {
			if (resultValue instanceof String) {
				redirectResult = PermRedirect.to((String)resultValue);
			}
			else {
				redirectResult = (PermRedirect) resultValue;
			}
		}

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

		final String redirectValue = redirectResult.path();

		final String resultPath;

		if (redirectValue.startsWith("http://") || redirectValue.startsWith("https://")) {
			resultPath = redirectValue;
		}
		else {
			resultPath = resultMapper.resolveResultPathString(resultBasePath, redirectValue);
		}

		final HttpServletRequest request = actionRequest.getHttpServletRequest();
		final HttpServletResponse response = actionRequest.getHttpServletResponse();

		String path = beanTemplateParser.parseWithBean(resultPath, actionRequest.getAction());

		DispatcherUtil.redirectPermanent(request, response, path);
	}
@Override
	public void render(final ActionRequest actionRequest, final Object resultValue) {
		final PermRedirect redirectResult;

		if (resultValue == null) {
			redirectResult = PermRedirect.to(StringPool.SLASH);
		} else {
			if (resultValue instanceof String) {
				redirectResult = PermRedirect.to((String)resultValue);
			}
			else {
				redirectResult = (PermRedirect) resultValue;
			}
		}

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

		final String redirectValue = redirectResult.path();

		final String resultPath;

		if (redirectValue.startsWith("http://") || redirectValue.startsWith("https://")) {
			resultPath = redirectValue;
		}
		else {
			resultPath = resultMapper.resolveResultPathString(resultBasePath, redirectValue);
		}

		final HttpServletRequest request = actionRequest.getHttpServletRequest();
		final HttpServletResponse response = actionRequest.getHttpServletResponse();

		String path = beanTemplateParser.parseWithBean(resultPath, actionRequest.getAction());

		DispatcherUtil.redirectPermanent(request, response, path);
	}
Redirects to the given location. Provided path is parsed, action is used as a value context.