Jolly, you answered it yourself: 

"I dont want to write another actionForm class that represent my DTO...I am 
in great trouble."

This isn't Struts causing you the problem. It's the JSP spec. 

The automatic type conversion it does for you, will cause "null integers" to 
be sent into your DTO as 0. 

So yes, if you cannot be bothered to create another bean form class, then 
there is no solution. Not one that uses JSP's anyway.

I do feel your pain though. It seems on many levels, just plain silly to have 
to declare objects almost but not completely like the ones you already have 
(complete with the risk of accidental typos) just to satisfy the web tier. 

My suggestion: Find a tool that helps you define your form bean getter and 
setters, or do what I do: Use DynaBeans. I'm doing some reasonably complex 
validation and nesting with DynaBeans in forms. In fact, I have 
a "GenericListForm" DynaBean which just contains a List property. I can use 
this form on any JSP that shows a list of objects. For me, those list objects 
are dynabeans themselves.

My goal is to never have to write a getter or setter in a form bean ever 
again.

Hope this helps

-Joe


> -----Original Message-----
> From: jolly [mailto:[EMAIL PROTECTED] 
> Sent: Saturday, April 03, 2004 11:12 PM
> To: Struts Users Mailing List
> Subject: Re: integer validation problem
> 
> 
> Dear Richard
>  Thanks for your reply. But I dont want to declare this type 
> of variable as String. I want to use the DTO as form bean 
> property. For this it is not validated by validator. so I 
> have to make my DTO dirtty that is I have to declare another 
> attribute for all variables that are not String. And I pass 
> that String attribute to the jsp and then I set the 
> validated value to my integer or double variable. This 
> type of solution cant satisfy me. I dont want to write
> another bean form class. So I have to comprise myself 
> with that solution.
> thanks again for your help
> -jolly 
> 
> On Sat, 03 Apr 2004 12:16:35 -0800, Richard Yee wrote
> > Jolly,
> > If you had checked the archives, you would have found your answer
> > immediately since this topic has come up several times in the past 
> > two weeks. Anyway, declare your firstCategoryAmount and 
> incrementDTO 
> > attributes as Strings instead of int and double.
> > 
> > -Richard
> > 
> > At 10:57 PM 4/2/2004, you wrote:
> > 
> > >Hi please help me.  My form-bean declaration is like this 
> <form-bean 
> > >name="payScaleForm" 
> type="com.mislbd.iris.util.CustomDynaActioForm">
> > >       <form-property name="payScaleDTO"
> > >type="com.mislbd.iris.hr.core.compensation.PayScaleDTO" />
> > >
> > >and PayScaleDTO has incrementDTO as its attribute.
> > >I define my jsp as:
> > ><layout:text  key="payScale.basicPay" 
> property="payScaleDTO.basicPay" 
> > >styleClass="LABEL" isRequired="true"/>
> > >            <layout:text  
> > >key="payScale.Increment.firstCategoryAmount"
> > >property="payScaleDTO.increment.firstCategoryAmount" 
> styleClass="LABEL"
> > >isRequired="true"/>
> > >
> > >basicPay and firstCategoryAmount are defined as integer or double. 
> > >But this fields are not validated if i enter text and 
> saved zero to 
> > >database. I cant use copyproperties of beanutils because 
> of the ha a 
> > >relationship. I dont want to write another actionForm class that 
> > >represent my DTO. How can I solve my problem. please help 
> me. I am in 
> > >great trouble. JOlly
> > >--
> > >jolly
> > >
> > >
> > 
> >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> --
> jolly
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to