Package javax.servlet.jsp.jstl.fmt

Examples of javax.servlet.jsp.jstl.fmt.LocalizationContext


     * given base name and the locale that led to the resource bundle match,
     * or the empty localization context if no resource bundle match was found
     */
    public static LocalizationContext getLocalizationContext(PageContext pc,
                   String basename) {
  LocalizationContext locCtxt = null;
  ResourceBundle bundle = null;

  if ((basename == null) || basename.equals("")) {
      return new LocalizationContext();
  }

  // Try preferred locales
  Locale pref = SetLocaleSupport.getLocale(pc, Config.FMT_LOCALE);
  if (pref != null) {
      // Preferred locale is application-based
      bundle = findMatch(basename, pref);
      if (bundle != null) {
    locCtxt = new LocalizationContext(bundle, pref);
      }
  } else {
      // Preferred locales are browser-based
      locCtxt = findMatch(pc, basename);
  }
 
  if (locCtxt == null) {
      // No match found with preferred locales, try using fallback locale
      pref = SetLocaleSupport.getLocale(pc, Config.FMT_FALLBACK_LOCALE);
      if (pref != null) {
    bundle = findMatch(basename, pref);
    if (bundle != null) {
        locCtxt = new LocalizationContext(bundle, pref);
    }
      }
  }

  if (locCtxt == null) {
      // try using the root resource bundle with the given basename
      try {
    bundle = ResourceBundle.getBundle(basename, EMPTY_LOCALE,
              Thread.currentThread().getContextClassLoader());
    if (bundle != null) {
        locCtxt = new LocalizationContext(bundle, null);
    }
      } catch (MissingResourceException mre) {
    // do nothing
      }
  }
    
  if (locCtxt != null) {
      // set response locale
      if (locCtxt.getLocale() != null) {
    SetLocaleSupport.setResponseLocale(pc, locCtxt.getLocale());
      }
  } else {
      // create empty localization context
      locCtxt = new LocalizationContext();
  }

  return locCtxt;
    }
View Full Code Here


    static Locale getFormattingLocale(PageContext pc,
              Tag fromTag,
              boolean format,
              Locale[] avail) {

  LocalizationContext locCtxt = null;
 
  // Get formatting locale from enclosing <fmt:bundle>
  Tag parent = findAncestorWithClass(fromTag, BundleSupport.class);
  if (parent != null) {
      /*
       * use locale from localization context established by parent
       * <fmt:bundle> action, unless that locale is null
       */
      locCtxt = ((BundleSupport) parent).getLocalizationContext();
      if (locCtxt.getLocale() != null) {
    if (format) {
        setResponseLocale(pc, locCtxt.getLocale());
    }
    return locCtxt.getLocale();
      }
  }

  // Use locale from default I18N localization context, unless it is null
  if ((locCtxt = BundleSupport.getLocalizationContext(pc)) != null) {
      if (locCtxt.getLocale() != null) {
    if (format) {
        setResponseLocale(pc, locCtxt.getLocale());
    }
    return locCtxt.getLocale();
      }
  }

  /*
   * Establish formatting locale by comparing the preferred locales
View Full Code Here

    TimeZone timeZone = RequestContextUtils.getTimeZone(request);
    if (timeZone != null) {
      Config.set(request, Config.FMT_TIME_ZONE, timeZone);
    }
    if (messageSource != null) {
      LocalizationContext jstlContext = new SpringLocalizationContext(messageSource, request);
      Config.set(request, Config.FMT_LOCALIZATION_CONTEXT, jstlContext);
    }
  }
View Full Code Here

    if (timeZone != null) {
      Config.set(requestContext.getRequest(), Config.FMT_TIME_ZONE, timeZone);
    }
    MessageSource messageSource = getJstlAwareMessageSource(
        requestContext.getServletContext(), requestContext.getMessageSource());
    LocalizationContext jstlContext = new SpringLocalizationContext(messageSource, requestContext.getRequest());
    Config.set(requestContext.getRequest(), Config.FMT_LOCALIZATION_CONTEXT, jstlContext);
  }
View Full Code Here

    assertTrue("Correct tb attribute", tb.equals(request.getAttribute("tb")));
    assertTrue("Correct rc attribute", request.getAttribute("rc") == null);

    assertEquals(locale, Config.get(request, Config.FMT_LOCALE));
    LocalizationContext lc = (LocalizationContext) Config.get(request, Config.FMT_LOCALIZATION_CONTEXT);
    assertEquals("messageX", lc.getResourceBundle().getString("code1"));
  }
View Full Code Here

    assertTrue("Correct tb attribute", tb.equals(request.getAttribute("tb")));
    assertTrue("Correct rc attribute", request.getAttribute("rc") == null);

    assertEquals(locale, Config.get(request, Config.FMT_LOCALE));
    LocalizationContext lc = (LocalizationContext) Config.get(request, Config.FMT_LOCALIZATION_CONTEXT);
    assertEquals("message1", lc.getResourceBundle().getString("code1"));
    assertEquals("message2", lc.getResourceBundle().getString("code2"));
  }
View Full Code Here

   */
  public static void exposeLocalizationContext(HttpServletRequest request, MessageSource messageSource) {
    Locale jstlLocale = RequestContextUtils.getLocale(request);
    Config.set(request, Config.FMT_LOCALE, jstlLocale);
    if (messageSource != null) {
      LocalizationContext jstlContext = new SpringLocalizationContext(messageSource, request);
      Config.set(request, Config.FMT_LOCALIZATION_CONTEXT, jstlContext);
    }
  }
View Full Code Here

   */
  public static void exposeLocalizationContext(RequestContext requestContext) {
    Config.set(requestContext.getRequest(), Config.FMT_LOCALE, requestContext.getLocale());
    MessageSource messageSource = getJstlAwareMessageSource(
        requestContext.getServletContext(), requestContext.getMessageSource());
    LocalizationContext jstlContext = new SpringLocalizationContext(messageSource, requestContext.getRequest());
    Config.set(requestContext.getRequest(), Config.FMT_LOCALIZATION_CONTEXT, jstlContext);
  }
View Full Code Here

        } catch (MissingResourceException e) {
          logger.debug("couldn't find message bundle, creating an empty one");
          this.bundle = new SafeResourceBundle(createEmptyBundle());
        }
            } else if (bundle instanceof LocalizationContext) {
              LocalizationContext context = (LocalizationContext) bundle;
              this.bundle = context.getResourceBundle();
            } else {
              logger.warn("Can't handle bundle: " + bundle + ". Please report this bug. Using an empty bundle");
              this.bundle = new SafeResourceBundle(createEmptyBundle());
            }
        }
View Full Code Here

    @Override
    public int doEndTag() throws JspException {

        String key = null;
        LocalizationContext locCtxt = null;

        // determine the message key by...
        if (keySpecified) {
            // ... reading 'key' attribute
            key = keyAttrValue;
        } else {
            // ... retrieving and trimming our body
            if (bodyContent != null && bodyContent.getString() != null) {
                key = bodyContent.getString().trim();
            }
        }

        if ((key == null) || key.equals("")) {
            try {
                pageContext.getOut().print("??????");
            } catch (IOException ioe) {
                throw new JspTagException(ioe.toString(), ioe);
            }
            return EVAL_PAGE;
        }

        String prefix = null;
        if (!bundleSpecified) {
            Tag t = findAncestorWithClass(this, BundleSupport.class);
            if (t != null) {
                // use resource bundle from parent <bundle> tag
                BundleSupport parent = (BundleSupport) t;
                locCtxt = parent.getLocalizationContext();
                prefix = parent.getPrefix();
            } else {
                locCtxt = BundleSupport.getLocalizationContext(pageContext);
            }
        } else {
            // localization context taken from 'bundle' attribute
            locCtxt = bundleAttrValue;
            if (locCtxt.getLocale() != null) {
                SetLocaleSupport.setResponseLocale(pageContext,
                        locCtxt.getLocale());
            }
        }

        String message = UNDEFINED_KEY + key + UNDEFINED_KEY;
        if (locCtxt != null) {
            ResourceBundle bundle = locCtxt.getResourceBundle();
            if (bundle != null) {
                try {
                    // prepend 'prefix' attribute from parent bundle
                    if (prefix != null) {
                        key = prefix + key;
                    }
                    message = bundle.getString(key);
                    // Perform parametric replacement if required
                    if (!params.isEmpty()) {
                        Object[] messageArgs = params.toArray();
                        MessageFormat formatter = new MessageFormat(""); // empty pattern, default Locale
                        if (locCtxt.getLocale() != null) {
                            formatter.setLocale(locCtxt.getLocale());
                        } else {
                            // For consistency with the <fmt:formatXXX> actions,
                            // we try to get a locale that matches the user's preferences
                            // as well as the locales supported by 'date' and 'number'.
                            //System.out.println("LOCALE-LESS LOCCTXT: GETTING FORMATTING LOCALE");
View Full Code Here

TOP

Related Classes of javax.servlet.jsp.jstl.fmt.LocalizationContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.