Getting the locale from ExternalContext.
This commit is contained in:
@@ -31,7 +31,7 @@ public class FlowPropertyResolver extends ELDelegatingPropertyResolver {
|
||||
private static final CompositeELResolver composite = new CompositeELResolver();
|
||||
|
||||
static {
|
||||
composite.add(new FlowMessageSourceResolver());
|
||||
composite.add(new FlowResourceELResolver());
|
||||
composite.add(new MapAdaptableELResolver());
|
||||
}
|
||||
|
||||
|
||||
@@ -5,13 +5,12 @@ import java.util.Iterator;
|
||||
import javax.el.ELContext;
|
||||
import javax.el.ELResolver;
|
||||
import javax.el.PropertyNotWritableException;
|
||||
import javax.faces.context.FacesContext;
|
||||
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.webflow.execution.RequestContextHolder;
|
||||
|
||||
public class FlowMessageSourceResolver extends ELResolver {
|
||||
public class FlowResourceELResolver extends ELResolver {
|
||||
|
||||
private String MESSAGE_SOURCE_KEY = "resourceBundle";
|
||||
|
||||
@@ -29,8 +28,8 @@ public class FlowMessageSourceResolver extends ELResolver {
|
||||
return MessageSource.class;
|
||||
} else if (base != null && base instanceof MessageSource) {
|
||||
MessageSource messageSource = (MessageSource) base;
|
||||
String message = messageSource.getMessage(property.toString(), null, FacesContext.getCurrentInstance()
|
||||
.getViewRoot().getLocale());
|
||||
String message = messageSource.getMessage(property.toString(), null, RequestContextHolder
|
||||
.getRequestContext().getExternalContext().getLocale());
|
||||
if (StringUtils.hasText(message)) {
|
||||
context.setPropertyResolved(true);
|
||||
return String.class;
|
||||
@@ -45,8 +44,8 @@ public class FlowMessageSourceResolver extends ELResolver {
|
||||
return RequestContextHolder.getRequestContext().getActiveFlow().getApplicationContext();
|
||||
} else if (base != null && base instanceof MessageSource) {
|
||||
MessageSource messageSource = (MessageSource) base;
|
||||
String message = messageSource.getMessage(property.toString(), null, FacesContext.getCurrentInstance()
|
||||
.getViewRoot().getLocale());
|
||||
String message = messageSource.getMessage(property.toString(), null, RequestContextHolder
|
||||
.getRequestContext().getExternalContext().getLocale());
|
||||
if (StringUtils.hasText(message)) {
|
||||
context.setPropertyResolved(true);
|
||||
return message;
|
||||
@@ -35,7 +35,7 @@ public class FlowVariableResolver extends ELDelegatingVariableResolver {
|
||||
static {
|
||||
composite.add(new RequestContextELResolver());
|
||||
composite.add(new ImplicitFlowVariableELResolver());
|
||||
composite.add(new FlowMessageSourceResolver());
|
||||
composite.add(new FlowResourceELResolver());
|
||||
composite.add(new ScopeSearchingELResolver());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user