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.


Reply via email to