Getting the locale from ExternalContext.

This commit is contained in:
Jeremy Grelle
2008-04-18 20:12:16 +00:00
parent 4d8978325a
commit 9ad2a872a8
3 changed files with 7 additions and 8 deletions

View File

@@ -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());
}

View File

@@ -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;

View File

@@ -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());
}