Hello,
I am trying to populate form fields from an HttpServletRequest parameter map
using Form.copyFrom(map). I am finding that all but HiddenField(s) are getting
populated. For the HiddenField, an IllegalArguementException is getting thrown:
java.lang.IllegalArgumentException: The value.getClass(): '[Ljava.lang.String;'
must be the same as the HiddenField valueClass: 'java.lang.String'
at
org.apache.click.control.HiddenField.setValueObject(HiddenField.java:243)
at
org.apache.click.util.ContainerUtils.copyMapToFields(ContainerUtils.java:1100)
...
The HiddenField is different from other fields in that it uses a 'valueObject'
rather than a value String. I've tried setting the valueObject in the
HiddenField constructor to match the String array that is used in the parameter
map, but with no luck. I even tried creating my own HiddenField class, but the
Form class still creates Click HiddenField(s) (for example for passing the form
name), which throws the exception during copyFrom.
Does anybody have any suggestions/insights/work-arounds for this? I would love
to leverage this useful method for populating form fields from a servlet
request. I'm using Apache Click 2.3.0.
Thank you,
Nick.