1 16 package org.springframework.webflow.engine.support; 17 18 import java.io.Serializable ; 19 20 import org.springframework.binding.expression.Expression; 21 import org.springframework.core.style.ToStringCreator; 22 import org.springframework.webflow.engine.ViewSelector; 23 import org.springframework.webflow.execution.RequestContext; 24 import org.springframework.webflow.execution.ViewSelection; 25 import org.springframework.webflow.execution.support.ExternalRedirect; 26 27 44 public class ExternalRedirectSelector implements ViewSelector, Serializable { 45 46 49 private Expression urlExpression; 50 51 57 public ExternalRedirectSelector(Expression urlExpression) { 58 this.urlExpression = urlExpression; 59 } 60 61 64 public Expression getUrlExpression() { 65 return urlExpression; 66 } 67 68 public boolean isEntrySelectionRenderable(RequestContext context) { 69 return true; 70 } 71 72 public ViewSelection makeEntrySelection(RequestContext context) { 73 String url = (String )urlExpression.evaluate(context, null); 74 return new ExternalRedirect(url); 75 } 76 77 public ViewSelection makeRefreshSelection(RequestContext context) { 78 return makeEntrySelection(context); 79 } 80 81 public String toString() { 82 return new ToStringCreator(this).append("urlExpression", urlExpression).toString(); 83 } 84 } | Popular Tags |