|
I was hoping to get some advice on how to handle
the following in Tapestry. We have a user signup form in which the user is
presented with a list of "interests" to select. It might look
something like this :
---------------------------------------------------------------
First Name :
Last Name :
E-Mail :
etc...
SELECT INTERESTS :
[ ] Books [X] Music [
] Movies
[ ] Finance [ ] Computers [X]
Cooking
[X] Games
---------------------------------------------------------------
Each interest has a code that would get sent if
it's selected. Some of the interests are displayed in a different style
(bold). I'm fairly new to Tapestry and have been going through the
docs and examples and can't quite figure out the best way to do this.
I was thinking of creating a list of Interest
objects with {code, label, selected, bolded} properties but I'm not sure how to
handle fireObservedChange().
On a side note, how DO you deal with list/map
properties in a form? I think OGNL allows the expression "interests[5]" or
"interests[Books].selected" but how do you make sure that change is observed by
the PageRecorder?
Other issues I've encountered in my first project
using Tapestry, just FYI :
The field validation framework
seems very limited. It (or FieldLabel, at least) doesn't seem to apply to
anything but TextFields (i.e. it doesn't work with DatePicker, CheckBox,
PropertySelection, etc?). There aren't many Validators to work with, even
for very common uses (e.g. Email, RegularExpressions).
The DatePicker has display
problems when it attempts to display over a list box. The listbox renders
on top of the DatePicker.
The DatePicker has no options
for the begin date range and defaults to starting at 1990. This makes it
unusable for birth dates.
Is there documentation available
for the Table component yet?
Any help greatly appreciated,
Brien Voorhees
|
