diff --git a/core/pom.xml b/core/pom.xml index c8f97fa5f..7bf21c8fc 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -252,7 +252,7 @@ opensymphony xwork - 2.0.1 + 2.0.2-SNAPSHOT diff --git a/core/src/main/java/org/apache/struts2/components/I18n.java b/core/src/main/java/org/apache/struts2/components/I18n.java index 5f2830cc1..9639e2c25 100644 --- a/core/src/main/java/org/apache/struts2/components/I18n.java +++ b/core/src/main/java/org/apache/struts2/components/I18n.java @@ -27,6 +27,7 @@ import java.util.ResourceBundle; import org.apache.struts2.views.annotations.StrutsTag; import org.apache.struts2.views.annotations.StrutsTagAttribute; import org.apache.struts2.StrutsException; +import org.apache.struts2.dispatcher.Dispatcher; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.LocaleProvider; @@ -102,7 +103,9 @@ public class I18n extends Component { if (bundle != null) { final Locale locale = (Locale) getStack().getContext().get(ActionContext.LOCALE); - getStack().push(TextProviderFactory.getInstance(bundle, new LocaleProvider() { + TextProviderFactory tpf = new TextProviderFactory(); + Dispatcher.getInstance().getContainer().inject(tpf); + getStack().push(tpf.createInstance(bundle, new LocaleProvider() { public Locale getLocale() { return locale; } diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java index a2191d67e..873502b56 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java @@ -401,9 +401,6 @@ Caused by: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyExcepti ObjectTypeDeterminer objectTypeDeterminer = container.getInstance(ObjectTypeDeterminer.class); ObjectTypeDeterminerFactory.setInstance(objectTypeDeterminer); - TextProvider textProvider = container.getInstance(TextProvider.class); - TextProviderFactory.setInstance(textProvider); - return container; }