You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Thomas Otto <ot...@strato-rz.de> on 2006/03/27 12:58:08 UTC
Populate Collection values
Hello,
I have the following problem.
I have an struts form with an Collection getter and want to let set
struts the input values of an submit.
public class UserForm extends ActionForm {
// returns a collection of user beans
Collection getUsers(){
...
}
}
public class User {
Integer age;
public Integer getAge(){
return age;
}
public void setAge(Integer age){
this.age=age;
}
}
In the jsp- Page I use layout:collection with layout:text to show the
input fields in a table.
<layout:form action="/save">
<layout:collection property="users" indexId="index">
<layout:collectionItem title="Age" >
<layout:text property="users[${index}].age"
layout="false"/>
</layout:collectionItem>
</layout:collection>
</layout:form>
On submit struts fill also all values in the user bean, but struts set
"0" into the age-Field and not "null" if the value is empty.
How can I modify this?
Regards
Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Populate Collection values
Posted by Thomas Otto <ot...@strato-rz.de>.
Hello Vijay,
an add convertNull with true to the web.xml solves the problem.
Thank you,
Tom
vijay venkataraman schrieb:
> In case you missed to see this in the docs... See the Struts doc:
> Building View Components and See in Struts Validator.
>
> Note: If your required form property is one of the Java object
> representations of primitive types (ie. java.lang.Integer), you must
> set the ActionServlet's *convertNull* init parameter to true. Failing
> to do this will result in the required validation not being performed
> on that field because it will default to zero
>
> Thanks,
> Vijay Venkataraman
>
> Angelo zerr wrote:
>
>> Hello homas,
>> To avoid this problem, I use String type in my getter/setter in my
>> Struts
>> form for any type (Integer, Date,...).
>> So, you could do that :
>>
>> public class User {
>> String age;
>> public String getAge(){
>> return age;
>> }
>> public void setAge(String age){
>> this.age=age;
>> }
>> }
>>
>> After you must convert String age into Integer age in your action struts
>> (after validation), to get values of list of ages.
>> Regards
>> Angelo
>>
>> 2006/3/27, Thomas Otto <ot...@strato-rz.de>:
>>
>>
>>> Hello,
>>> I have the following problem.
>>>
>>> I have an struts form with an Collection getter and want to let set
>>> struts the input values of an submit.
>>>
>>> public class UserForm extends ActionForm {
>>> // returns a collection of user beans
>>> Collection getUsers(){
>>> ...
>>> }
>>> }
>>>
>>> public class User {
>>> Integer age;
>>> public Integer getAge(){
>>> return age;
>>> }
>>> public void setAge(Integer age){
>>> this.age=age;
>>> }
>>> }
>>>
>>> In the jsp- Page I use layout:collection with layout:text to show the
>>> input fields in a table.
>>> <layout:form action="/save">
>>> <layout:collection property="users" indexId="index">
>>> <layout:collectionItem title="Age" >
>>> <layout:text property="users[${index}].age"
>>> layout="false"/>
>>> </layout:collectionItem>
>>> </layout:collection>
>>> </layout:form>
>>>
>>>
>>> On submit struts fill also all values in the user bean, but struts set
>>> "0" into the age-Field and not "null" if the value is empty.
>>> How can I modify this?
>>>
>>> Regards
>>> Tom
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>>
>>
>>
>>
>
>
> ------------------------------DISCLAIMER------------------------------
> This message is for the named person's use only. It may contain
> confidential, proprietary or legally privileged information. No
> confidentiality or privilege is waived or lost by any mistransmission.
> If you receive this message in error, please immediately delete it and
> all copies of it from your system, destroy any hard copies of it and
> notify the sender. You must not, directly or indirectly, use,
> disclose, distribute, print, or copy any part of this message if you
> are not the intended recipient.
> Lisle Technology Partners Pvt. Ltd. and any of its subsidiaries each
> reserve the right to monitor all e-mail communications through its
> networks.
> Any views expressed in this message are those of the individual
> sender, except where the message states otherwise and the sender is
> authorized to state them to be the views of any such entity.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Populate Collection values
Posted by vijay venkataraman <vi...@ltp.soft.net>.
In case you missed to see this in the docs... See the Struts doc:
Building View Components and See in Struts Validator.
Note: If your required form property is one of the Java object
representations of primitive types (ie. java.lang.Integer), you must set
the ActionServlet's *convertNull* init parameter to true. Failing to do
this will result in the required validation not being performed on that
field because it will default to zero
Thanks,
Vijay Venkataraman
Angelo zerr wrote:
>Hello homas,
>To avoid this problem, I use String type in my getter/setter in my Struts
>form for any type (Integer, Date,...).
>So, you could do that :
>
>public class User {
> String age;
> public String getAge(){
> return age;
> }
> public void setAge(String age){
> this.age=age;
>}
>}
>
>After you must convert String age into Integer age in your action struts
>(after validation), to get values of list of ages.
>Regards
>Angelo
>
>2006/3/27, Thomas Otto <ot...@strato-rz.de>:
>
>
>>Hello,
>>I have the following problem.
>>
>>I have an struts form with an Collection getter and want to let set
>>struts the input values of an submit.
>>
>>public class UserForm extends ActionForm {
>> // returns a collection of user beans
>> Collection getUsers(){
>> ...
>>}
>>}
>>
>>public class User {
>> Integer age;
>> public Integer getAge(){
>> return age;
>> }
>> public void setAge(Integer age){
>> this.age=age;
>>}
>>}
>>
>>In the jsp- Page I use layout:collection with layout:text to show the
>>input fields in a table.
>><layout:form action="/save">
>> <layout:collection property="users" indexId="index">
>> <layout:collectionItem title="Age" >
>> <layout:text property="users[${index}].age"
>>layout="false"/>
>> </layout:collectionItem>
>> </layout:collection>
>></layout:form>
>>
>>
>>On submit struts fill also all values in the user bean, but struts set
>>"0" into the age-Field and not "null" if the value is empty.
>>How can I modify this?
>>
>>Regards
>>Tom
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>
>>
>
>
>
------------------------------DISCLAIMER------------------------------
This message is for the named person's use only. It may contain
confidential, proprietary or legally privileged information. No
confidentiality or privilege is waived or lost by any mistransmission.
If you receive this message in error, please immediately delete it and
all copies of it from your system, destroy any hard copies of it and
notify the sender. You must not, directly or indirectly, use, disclose,
distribute, print, or copy any part of this message if you are not the
intended recipient.
Lisle Technology Partners Pvt. Ltd. and any of its subsidiaries each
reserve the right to monitor all e-mail communications through its
networks.
Any views expressed in this message are those of the
individual sender, except where the message states otherwise and the
sender is authorized to state them to be the views of any such entity.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Populate Collection values
Posted by Angelo zerr <an...@gmail.com>.
Hello homas,
To avoid this problem, I use String type in my getter/setter in my Struts
form for any type (Integer, Date,...).
So, you could do that :
public class User {
String age;
public String getAge(){
return age;
}
public void setAge(String age){
this.age=age;
}
}
After you must convert String age into Integer age in your action struts
(after validation), to get values of list of ages.
Regards
Angelo
2006/3/27, Thomas Otto <ot...@strato-rz.de>:
>
> Hello,
> I have the following problem.
>
> I have an struts form with an Collection getter and want to let set
> struts the input values of an submit.
>
> public class UserForm extends ActionForm {
> // returns a collection of user beans
> Collection getUsers(){
> ...
> }
> }
>
> public class User {
> Integer age;
> public Integer getAge(){
> return age;
> }
> public void setAge(Integer age){
> this.age=age;
> }
> }
>
> In the jsp- Page I use layout:collection with layout:text to show the
> input fields in a table.
> <layout:form action="/save">
> <layout:collection property="users" indexId="index">
> <layout:collectionItem title="Age" >
> <layout:text property="users[${index}].age"
> layout="false"/>
> </layout:collectionItem>
> </layout:collection>
> </layout:form>
>
>
> On submit struts fill also all values in the user bean, but struts set
> "0" into the age-Field and not "null" if the value is empty.
> How can I modify this?
>
> Regards
> Tom
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>