On Thu, 21 Aug 2003, Chris Clark wrote:
> I think there may be a bug then...
>
> When I try to use a String array in my Java class, I get the following error:
>
> Exception trying to set value with xpath validchecks; Cannot modify property:
> elrsproto.FormBean.validchecks; Cannot convert value of class java.lang.String to
> type class [Ljava.lang.String;; Cannot convert class java.lang.String to class
> [Ljava.lang.String;
>
> That's why I tried to use just a straight String. And it works, except that it only
> gets the value of the first check.
>
> Whether I use the nodeset or not, I get the same behaviour.
>
> I did verify that I don't need to use the nodeset if I specify all of the controls
> ahead of time in the form definition. Thanks.
>
> For now my work-around is to use a javascript array object for the form and then
> copy it into my Java class. That works. Odd.
Ok, let check:
We use a Java Bean that has a:
private String [] m_roles;
which gets initialized with an array from a database and the array size
fits the numbers of item we've stored in the database (even a
'm_roles = new String[ 0 ]' works for us).
with setter/getter
public void setRoless( String [] roles )
{
m_roles = roles;
}
public String [] getRoless( )
{
return m_roles;
}
and the form snipped we use look like:
<xf:select ref="/roless" appearance="full">
<xf:label><i18n:text>ROLE</i18n:text></xf:label>
<jx:forEach var="role" items="${allRoles}">
<xf:item>
<xf:label>${role.name}</xf:label>
<xf:value>${role.name}</xf:value>
</xf:item>
</jx:forEach>
</xf:select>
Hope this helps.
--
Giacomo Pati
Otego AG, Switzerland - http://www.otego.com
Orixo, the XML business alliance - http://www.orixo.com