aspose file tools*
The moose likes JSP and the fly likes Bean setters not invoked when no data entered in form fields Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "Bean setters not invoked when no data entered in form fields" Watch "Bean setters not invoked when no data entered in form fields" New topic
Author

Bean setters not invoked when no data entered in form fields

Graeme Byers
Ranch Hand

Joined: Apr 16, 2004
Posts: 127
Bean setters not invoked when no data entered in form fields
=======================================

I began by coding the Emp JavaBean in the usual way. The hardcoded values are debugging.
The Problem :
If I enter data into the form fields then the JSP displays 9999 and DEFAULT. OK.
If I do not enter data into form fields or use the Delete key to remove existing data then
displayed : empNo is null
empName is null
I want my bean to validate that these mandatory fields are entered and I want to place
this logic inside my set methods.

Thank you for any help.

The JavaBean :



The Form :

The JSP :
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61224
    
  66

You're submitting a form to a JSP? That's a rather 1999 thing to be doing. Best practice is to submit to a servlet controller.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Jessid Leon Velez Gutierrez
Ranch Hand

Joined: Jan 19, 2011
Posts: 35
Hi. I am not sure if this is going to solve your problem... try:




According to the theory, if the container cant find the bean, it will create it and execute what is inside of the body of jsp:useBean... am I right?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61224
    
  66

I believe that that is the expected (if undesirable) behavior. Better to gather the data in a servlet where you have more control.
Stefan Evans
Bartender

Joined: Jul 06, 2005
Posts: 1018
Indeed. If you check out the setProperty tag you will find out that
"If a parameter has an empty or null value, the corresponding bean property is not set. "

An empty string counts as "empty" for purposes of this tag, and so the setter is not called.
Jessid Leon Velez Gutierrez
Ranch Hand

Joined: Jan 19, 2011
Posts: 35
Stefan Evans wrote:Indeed. If you check out the setProperty tag you will find out that
"If a parameter has an empty or null value, the corresponding bean property is not set. "

An empty string counts as "empty" for purposes of this tag, and so the setter is not called.


mmm now i understand. I did not know this.... thanks a lot for your answer
Graeme Byers
Ranch Hand

Joined: Apr 16, 2004
Posts: 127
Thank you Jessid.
For other replies , I know about Controller servlets but I was just following examples in Bergsten's JSP book.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Bean setters not invoked when no data entered in form fields