| 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: 56163
|
|
|
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.
|
[Smart Questions] [JSP FAQ] [Books by Bear] [Bear's FrontMan] [About 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: 56163
|
|
|
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: 1002
|
|
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.
|
 |
 |
|
|
subject: Bean setters not invoked when no data entered in form fields
|
|
|