Hi all, I am having a class which acts like a holder for the ajaxforloop row. It is a generic class which accepts an Object that has values for the row. Something like this
public class ItemSingleHolder<T> extends ItemHolder { private T value; public ItemSingleHolder(Long key, T value ) { super(key); this.value = value; } public T getValue() { return value; } public void setValue(T value) { this.value = value; } } Now if T that I give it is a complex Object (not just a String) then when I do something like this inside a ajaxformloop <t:textfield value="currentRow.value.name"/> where currentRow.value gets the Object that is give for T. And this all works great. However if I put String in T I get an exception that says that I am missing a translator. So I have create a translator which is really simple public class StringTranslator implements FieldTranslator<String> { @Override public Class getType() { return Object.class; } @Override public String parse(String string) throws ValidationException { return string; } @Override public String toClient(String t) { return t.toString(); } @Override public void render(MarkupWriter writer) { } } and then when I do this <t:textfield value="currentRow.value.name" t:translate="string"/> it works. Any idea why and what is the problem whit all of this? It is strange that I need this,right? Cheers -- View this message in context: http://tapestry.1045711.n5.nabble.com/String-translator-for-components-tp5699116.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org