This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/struts-examples.git
commit 59674d7d79a806c12c23380895da007c292fc42f Author: Lukasz Lenart <lukaszlen...@apache.org> AuthorDate: Tue Sep 11 08:30:45 2018 +0200 Adds an example how to use your own LocalizedTextProvider --- .../struts_example/MyLocalizedTextProvider.java | 32 ++++++++++++++++++++++ text-provider/src/main/resources/struts.xml | 4 +++ .../src/main/webapp/WEB-INF/content/success.jsp | 4 +++ .../src/main/webapp/resources/global.properties | 1 + 4 files changed, 41 insertions(+) diff --git a/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java b/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java new file mode 100644 index 0000000..9d6ba3c --- /dev/null +++ b/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java @@ -0,0 +1,32 @@ +package org.apache.struts_example; + +import com.opensymphony.xwork2.util.StrutsLocalizedTextProvider; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; + +public class MyLocalizedTextProvider extends StrutsLocalizedTextProvider { + + public MyLocalizedTextProvider() { + super(); + + URL[] urls; + try { + String resourceFolder = "src/main/webapp/resources"; + File file = new File(resourceFolder); + if (!file.exists() || !file.isDirectory()){ + throw new RuntimeException("External resource not found file not found"); + } + URL url = file.toURI().toURL(); + System.out.println(url); + urls = new URL[]{url}; + ClassLoader cl = new URLClassLoader(urls, this.getCurrentThreadContextClassLoader()); + this.setDelegatedClassLoader(cl); + this.addDefaultResourceBundle("global"); + } catch (MalformedURLException e) { + throw new RuntimeException("MalformedURLException occurred during the messageBundle initialisation", e); + } + } +} diff --git a/text-provider/src/main/resources/struts.xml b/text-provider/src/main/resources/struts.xml index 189d97a..c625353 100644 --- a/text-provider/src/main/resources/struts.xml +++ b/text-provider/src/main/resources/struts.xml @@ -28,6 +28,10 @@ type="com.opensymphony.xwork2.TextProvider" /> <constant name="struts.xworkTextProvider" value="MyTextProviderSupport" /> --> + + <bean type="com.opensymphony.xwork2.LocalizedTextProvider" name="myProvider" class="org.apache.struts_example.MyLocalizedTextProvider" scope="singleton" /> + + <constant name="struts.localizedTextProvider" value="myProvider" /> <package name="default" extends="struts-default"> diff --git a/text-provider/src/main/webapp/WEB-INF/content/success.jsp b/text-provider/src/main/webapp/WEB-INF/content/success.jsp index b90803c..5b089a3 100644 --- a/text-provider/src/main/webapp/WEB-INF/content/success.jsp +++ b/text-provider/src/main/webapp/WEB-INF/content/success.jsp @@ -11,6 +11,10 @@ <s:text name="default.index.title"/> </h1> +<h2> + <s:text name="global.key"/> +</h2> + <h3>Select your provider</h3> <ul> <li> diff --git a/text-provider/src/main/webapp/resources/global.properties b/text-provider/src/main/webapp/resources/global.properties new file mode 100644 index 0000000..8da2d61 --- /dev/null +++ b/text-provider/src/main/webapp/resources/global.properties @@ -0,0 +1 @@ +global.key=Global Text \ No newline at end of file