I'm trying to make a little reusable component to remove a bunch of cut and
paste. It uses a radio group for Yes and No and uses a boolean for the
value. I want to use it like this:
<tr>
<th><t:label for="someAttribute"/></th>
<td><t:yesnoradio t:id="someAttribute"
value="myObject.isYesNo"/></td>
</tr>
Here's what I have:
YesNoRadio.tml:
<t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
<t:radiogroup t:id="id" value="stringValue" encoder="stringEncoder">
<t:radio t:id="idForY" value="literal:true" label="Yes"/><t:label
for="idForY"/>
<t:radio t:id="idForN" value="literal:false" label="No"/><t:label
for="idForN"/>
</t:radiogroup>
</t:container>
YesNoRadio.java
public class YesNoRadio {
@Parameter
private String _id;
@Parameter
private boolean _value;
@Property
private String _stringValue;
@Property
private StringValueEncoder _stringEncoder = new StringValueEncoder();
void onSuccess() {
_value = Boolean.valueOf( _stringValue );
}
void onPrepare() {
_stringValue = String.valueOf( _value );
}
}
I can't seem to get the id to work correctly - I just want to pass it down
to the underlying radiogroup. This component will appear more than once on
a page, so I want each use to have an id that each label can use.
Will the component get notified by the form using onPrepare and onSuccess?
I need to convert the value boolean into a string for the radios to work
with.
Am I on the right track?
Ross
--
View this message in context:
http://www.nabble.com/Reusable-YesNoRadio-component-tp25821019p25821019.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]