public class WicketMessageResolver extends Object implements IComponentResolver
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=hereAnd 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.
ResourceSettings.setThrowExceptionOnMissingResource(boolean)
,
Serialized FormModifier and Type | Field and Description |
---|---|
static String |
ESCAPE_ATTRIBUTE
The name of the attribute that defines whether the resource value should be HTML escaped
|
static String |
KEY_ATTRIBUTE
The name of the attribute that defines the resource key
|
static String |
MESSAGE |
Constructor and Description |
---|
WicketMessageResolver() |
Modifier and Type | Method and Description |
---|---|
Component |
resolve(MarkupContainer container,
MarkupStream markupStream,
ComponentTag tag)
Try to resolve a component.
|
public static final String MESSAGE
public static final String KEY_ATTRIBUTE
public static final String ESCAPE_ATTRIBUTE
public Component resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag)
IComponentResolver
resolve
in interface IComponentResolver
container
- The container parsing its markupmarkupStream
- The current markupStreamtag
- The current component tag while parsing the markupnull
if not foundCopyright © 2006–2016 Apache Software Foundation. All rights reserved.