Class WicketMessageResolver

  • All Implemented Interfaces:
    java.io.Serializable, IComponentResolver, org.apache.wicket.util.io.IClusterable

    public class WicketMessageResolver
    extends java.lang.Object
    implements IComponentResolver
    This is a tag resolver which handles <wicket:message key="myKey">Default Text</wicket:message>. The resolver will replace the whole tag with the message found in the properties file associated with the Page.

    You can also nest child components inside a wicket:message and then reference them from the properties file. For example in the html

         <wicket:message key="myKey">
            This text will be replaced with text from the properties file.
            <span wicket:id="amount">[amount]</span>.
            <a wicket:id="link">
                <wicket:message key="linkText"/>
            </a>
         </wicket:message>
     
    Then in the properties file have a variable with a name that matches the wicket:id for each child component. The variables can be in any order, they do NOT have to match the order in the HTML file.
         myKey=Your balance is ${amount}. Click ${link} to view the details.
         linkText=here
     
    And in the java
     add(new Label("amount", new Model<String>("$5.00")));
     add(new BookmarkablePageLink<Void>("link", DetailsPage.class));
     
    This will output
     Your balance is $5.00. Click <a href="#">here</a> to view the details.
     
    If variables are not found via child component, the search will continue with the parents container model object and if still not found with the parent container itself. It is possible to switch between logging a warning and throwing an exception if either the property key/value or any of the variables can not be found.
    Author:
    Juergen Donnerstag, John Ray
    See Also:
    ResourceSettings.setThrowExceptionOnMissingResource(boolean), Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ESCAPE_ATTRIBUTE
      The name of the attribute that defines whether the resource value should be HTML escaped
      static java.lang.String KEY_ATTRIBUTE
      The name of the attribute that defines the resource key
      static java.lang.String MESSAGE  
    • Field Detail

      • KEY_ATTRIBUTE

        public static final java.lang.String KEY_ATTRIBUTE
        The name of the attribute that defines the resource key
        See Also:
        Constant Field Values
      • ESCAPE_ATTRIBUTE

        public static final java.lang.String ESCAPE_ATTRIBUTE
        The name of the attribute that defines whether the resource value should be HTML escaped
        See Also:
        Constant Field Values
    • Constructor Detail

      • WicketMessageResolver

        public WicketMessageResolver()