首页 > 代码库 > Result实现类
Result实现类
package org.apache.struts2.dispatcher; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.Result; import com.opensymphony.xwork2.util.TextParseUtil; import com.opensymphony.xwork2.util.TextParseUtil.ParsedValueEvaluator; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.apache.struts2.StrutsStatics; public abstract class StrutsResultSupport implements Result, StrutsStatics { private static final Logger LOG = LoggerFactory.getLogger(StrutsResultSupport.class); public static final String DEFAULT_PARAM = "location"; private boolean parse; private boolean encode; private String location; private String lastFinalLocation; public StrutsResultSupport() { this(null, true, false); } public StrutsResultSupport(String location) { this(location, true, false); } public StrutsResultSupport(String location, boolean parse, boolean encode) { this.location = location; this.parse = parse; this.encode = encode; } public void setLocation(String location) { this.location = location; } public String getLocation() { return this.location; } public String getLastFinalLocation() { return this.lastFinalLocation; } public void setParse(boolean parse) { this.parse = parse; } public void setEncode(boolean encode) { this.encode = encode; } public void execute(ActionInvocation invocation) throws Exception { this.lastFinalLocation = conditionalParse(this.location, invocation); doExecute(this.lastFinalLocation, invocation); } protected String conditionalParse(String param, ActionInvocation invocation) { if ((this.parse) && (param != null) && (invocation != null)) { return TextParseUtil.translateVariables(param, invocation.getStack(), new TextParseUtil.ParsedValueEvaluator() { public Object evaluate(String parsedValue) { if ((StrutsResultSupport.this.encode) && (parsedValue != null)) { try { return URLEncoder.encode(parsedValue, "UTF-8"); } catch (UnsupportedEncodingException e) { if (StrutsResultSupport.LOG.isWarnEnabled()) { StrutsResultSupport.LOG.warn("error while trying to encode [" + parsedValue + "]", e, new String[0]); } } } return parsedValue; } }); } return param; } protected abstract void doExecute(String paramString, ActionInvocation paramActionInvocation) throws Exception; }
**********************************************************
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。