1 18 package net.sf.uitags.tagutil.i18n; 19 20 import java.util.Locale ; 21 22 import javax.servlet.http.HttpSession ; 23 import javax.servlet.jsp.PageContext ; 24 25 26 import org.apache.struts.Globals; 27 import org.apache.struts.util.MessageResources; 28 29 35 public final class StrutsMessageFinder implements MessageFinder { 36 private static final long serialVersionUID = 100L; 37 38 41 private MessageResources resources; 42 45 private Locale locale; 46 47 50 public StrutsMessageFinder() { 51 super(); 52 } 53 54 55 public void setPageContext(PageContext pageContext) { 56 this.resources = getMessageResources(pageContext); 57 this.locale = getLocale(pageContext); 58 } 59 60 66 private MessageResources getMessageResources(PageContext pageContext) { 67 return ((MessageResources) 68 pageContext.getRequest().getAttribute(Globals.MESSAGES_KEY)); 69 } 70 71 78 private Locale getLocale(PageContext pageContext) { 79 HttpSession session = pageContext.getSession(); 80 Locale ret = null; 81 if (session != null) { 83 ret = (Locale ) session.getAttribute(Globals.LOCALE_KEY); 84 } 85 86 if (ret == null) { 88 ret = pageContext.getRequest().getLocale(); 89 } 90 return ret; 91 } 92 93 94 public String get(String key) { 95 return this.resources.getMessage(this.locale, key); 96 } 97 98 99 public String get(String key, Object arg0) { 100 return this.resources.getMessage(this.locale, key, arg0); 101 } 102 103 104 public String get(String key, Object [] args) { 105 return this.resources.getMessage(this.locale, key, args); 106 } 107 } 108 | Popular Tags |