I'm using S2.1.2 (are you using the same version?), and it will throw
a NumberFormatException when setting an empty string, but this
workaround will make ParameterInterceptor to think it is setting a
String parameter:

        public void setValue(String s) {
                if (!StringUtils.isBlank(s)) {
                    try {
                        this.value= new BigDecimal(s);
                    catch(NumberFormatException e) {
                        this.value = null;
                    }
                }
        }

of course you still need a validator so that the string doesn't
violate the BigDecimal grammar.

Other option (may be more clean) is the action having both the string
instance and the real BigDecimal instance, then the form will only set
the string instance.

2008/7/24 Milan Milanovic <[EMAIL PROTECTED]>:
>
> Dear Newton,
>
> Yes, I'm using BigDecimal type converter given here:
> http://www.nabble.com/-s2--Formatting-input-textfields-tt18593985.html
> http://www.nabble.com/-s2--Formatting-input-textfields-tt18593985.html .
>
> --
> Thx, Milan
>
>
> newton.dave wrote:
>>
>> Are you using a BigDecimal type converter (one of which was just posted)?
>>
>> AFAIK it won't work w/o the converter, but I could be remembering
>> incorrectly.
>>
>> Dave
>>
>> --- On Thu, 7/24/08, Milan Milanovic <[EMAIL PROTECTED]> wrote:
>>
>>> From: Milan Milanovic <[EMAIL PROTECTED]>
>>> Subject: Re: [s2] Making textfield input optional
>>> To: user@struts.apache.org
>>> Date: Thursday, July 24, 2008, 11:36 AM
>>> Dear Gabriel,
>>>
>>> no, my actual question is related to the issue when user
>>> doesn't enter
>>> anything to the textfield which is connected to BigDecimal
>>> in my action
>>> class.
>>>
>>> --
>>> Thx, Milan
>>>
>>>
>>>
>>> Gabriel Belingueres-2 wrote:
>>> >
>>> > Please make sure that the input string is according
>>> the BigDecimal format:
>>> >
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String)
>>> >
>>> > 2008/7/24 Milan Milanovic
>>> <[EMAIL PROTECTED]>:
>>> >>
>>> >> Hi Gabriel,
>>> >>
>>> >> no I cannot do this because my field is of type
>>> BigDecimal and I must
>>> >> have
>>> >> get/set methods for it.
>>> >>
>>> >> --
>>> >> Thx, Milan
>>> >>
>>> >>
>>> >> Gabriel Belingueres-2 wrote:
>>> >>>
>>> >>> instead of:
>>> >>>
>>> >>> public vlid setInValue(BigDecimal x) {
>>> >>>   this.x = x;
>>> >>> }
>>> >>>
>>> >>> test with this:
>>> >>>
>>> >>> public vlid setInValue(String s) {
>>> >>>   this.x = new BigDecimal(s);
>>> >>> }
>>> >>>
>>> >>>
>>> >>> 2008/7/24 Milan Milanovic
>>> <[EMAIL PROTECTED]>:
>>> >>>>
>>> >>>> Hi Jim,
>>> >>>>
>>> >>>> no, I have that method.
>>> >>>>
>>> >>>> --
>>> >>>> Thx, Milan
>>> >>>>
>>> >>>>
>>> >>>> Jim Kiley wrote:
>>> >>>>>
>>> >>>>> Doesn't that exception usually get
>>> thrown when, in this case,
>>> >>>>> ViewAction
>>> >>>>> doesn't have a setInValue()
>>> method?
>>> >>>>>
>>> >>>>> jk
>>> >>>>>
>>> >>>>> On Thu, Jul 24, 2008 at 10:31 AM,
>>> Gabriel Belingueres
>>> >>>>> <[EMAIL PROTECTED]>
>>> >>>>> wrote:
>>> >>>>>
>>> >>>>>> Which is the data type of inValue?
>>> >>>>>>
>>> >>>>>> 2008/7/24 Milan Milanovic
>>> <[EMAIL PROTECTED]>:
>>> >>>>>> >
>>> >>>>>> > Hi,
>>> >>>>>> >
>>> >>>>>> > I have one form with multiple
>>> textfields, and I want to one of that
>>> >>>>>> > textfield be optional for
>>> user, i.e., he doesn't need to enter
>>> >>>>>> information
>>> >>>>>> > in that particular field.
>>> Now, when user don't enter I get this in
>>> >>>>>> my
>>> >>>>>> log:
>>> >>>>>> >
>>> >>>>>> > ERROR
>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor:204
>>> >>>>>> -
>>> >>>>>> > ParametersInterceptor -
>>> [setParameters]: Unexpected Exception
>>> >>>>>> caught
>>> >>>>>> setting
>>> >>>>>> > 'inValue' on
>>> 'class com.myProject.action.ViewAction: Error setting
>>> >>>>>> > expression 'inValue'
>>> with value '[Ljava.lang.String;@1d3ac6e'
>>> >>>>>> >
>>> >>>>>> > How can I enable this but
>>> without getting this error ?
>>> >>>>>> >
>>> >>>>>> > --
>>> >>>>>> > Thx, Milan
>>> >>>>>> > --
>>> >>>>>> > View this message in context:
>>> >>>>>>
>>> http://www.nabble.com/-s2--Making-textfield-input-optional-tp18632806p18632806.html
>>> >>>>>> > Sent from the Struts - User
>>> mailing list archive at Nabble.com.
>>> >>>>>> >
>>> >>>>>> >
>>> >>>>>> >
>>> >>>>>>
>>> ---------------------------------------------------------------------
>>> >>>>>> > 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]
>>> >>>>>>
>>> >>>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> --
>>> >>>>> Jim Kiley
>>> >>>>> Technical Consultant | Summa
>>> >>>>> [p] 412.258.3346 [m] 412.445.1729
>>> >>>>> http://www.summa-tech.com
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>> --
>>> >>>> View this message in context:
>>> >>>>
>>> http://www.nabble.com/-s2--Making-textfield-input-optional-tp18632806p18633474.html
>>> >>>> Sent from the Struts - User mailing list
>>> archive at Nabble.com.
>>> >>>>
>>> >>>>
>>> >>>>
>>> ---------------------------------------------------------------------
>>> >>>> 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]
>>> >>>
>>> >>>
>>> >>>
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >>
>>> http://www.nabble.com/-s2--Making-textfield-input-optional-tp18632806p18633888.html
>>> >> Sent from the Struts - User mailing list archive
>>> at Nabble.com.
>>> >>
>>> >>
>>> >>
>>> ---------------------------------------------------------------------
>>> >> 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]
>>> >
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/-s2--Making-textfield-input-optional-tp18632806p18634541.html
>>> Sent from the Struts - User mailing list archive at
>>> Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]
>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/-s2--Making-textfield-input-optional-tp18632806p18634840.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> 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