Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.
The following page has been changed by FilipSAdamsen: http://wiki.apache.org/tapestry/Tapestry5HowToAddMessageFormatPrefix New page: This page describes how to add a messageformat prefix to Tapestry 5. The messageformat prefix allows you to specify values to use in a message inline like this: {{{ ${messageformat:key,value1,value2} or <t:component t:parameter="messageformat:key,value1,value2"> }}} First create the class !MessageFormatBindingFactory: {{{ public class MessageFormatBindingFactory implements BindingFactory { private final BindingSource bindingSource; public MessageFormatBindingFactory(BindingSource bindingSource) { this.bindingSource = bindingSource; } public Binding newBinding(String description, ComponentResources container, ComponentResources component, String expression, Location location) { String key = expression.substring(0, expression.indexOf(',')); String[] parts = expression.substring(expression.indexOf(',') + 1).split(","); Object[] values = new Object[parts.length]; for (int i = 0; i < parts.length; i++) { String part = parts[i]; String prefix = TapestryConstants.PROP_BINDING_PREFIX; if ('\'' == part.charAt(0) && '\'' == part.charAt(part.length() - 1)) { part = part.substring(1, part.length() - 1); prefix = TapestryConstants.LITERAL_BINDING_PREFIX; } values[i] = bindingSource.newBinding(description, container, component, prefix, part, location).get(); } String messageValue = container.getMessages().format(key, values); return new LiteralBinding(description, messageValue, location) { @Override public boolean isInvariant() { return false; } }; } } }}} And then contribute it to the BindingSource configuration: {{{ public static void contributeBindingSource(MappedConfiguration<String, BindingFactory> configuration, BindingSource bindingSource) { configuration.add("messageformat", new MessageFormatBindingFactory(bindingSource)); } }}} A few things to note about the use of this prefix: 1. Literal values should be enclosed in single quotes, and 2. it is possible to use other prefixes for the values. That's all there is to it. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]