buildResultParams(path, resultTypeConfig));
} else {
String prefix = StringUtils.substringBefore(resultCode, ":");
resultTypeConfig = (ResultTypeConfig) resultTypeConfigs.get(prefix);
if (prefix.startsWith("chain")) {
Action action = buildAction(StringUtils.substringAfter(resultCode, ":"));
Map<String, String> params = buildResultParams(path, resultTypeConfig);
addNamespaceAction(action, params);
if (StringUtils.isNotEmpty(action.getMethod())) {
params.put("method", action.getMethod());
}
return buildResult(resultCode, resultTypeConfig, context, params);
} else if (prefix.startsWith("redirect")) {
String targetResource = StringUtils.substringAfter(resultCode, ":");
if (StringUtils.contains(targetResource, ':')) { return new ServletRedirectResult(
targetResource); }
Action action = buildAction(targetResource);
String redirectParamStr = ServletActionContext.getRequest().getParameter("params");
action.params(redirectParamStr);
Map<String, String> params = buildResultParams(path, resultTypeConfig);
if (null != action.getParams().get("method")) {
params.put("method", (String) action.getParams().get("method"));
action.getParams().remove("method");
}
if (StringUtils.isNotEmpty(action.getMethod())) {
params.put("method", action.getMethod());
}
addNamespaceAction(action, params);
ServletRedirectResult result = (ServletRedirectResult) buildResult(resultCode,
resultTypeConfig, context, params);
for (Map.Entry<String, String> param : action.getParams().entrySet()) {
String property = param.getKey();
result.addParameter(property, param.getValue());
}
return result;
} else {