Re: [Shale] Property in ViewController Backing Bean is null
Hi again, I tried the whole weekend, but I didn't get any results other than those mentioned in the email below. Shall I send some code to illustrate the problem or is it really so unusual, what I'm trying to do? Thanks a lot for any help! Peter Good morning Craig, thank you, I think I'm making a progress with your help. I set the immediate flag to true for my commandButton, and my method gets executed as I wanted it to do. In the edit method I set an attribute of the backing bean to its correct value (the person that should be edited in the form), and this attribute is set correctly (in the prerender method I see its correct values). But the form is not being filled with the values. I read the chapter about the lifecycle of a JSF page in the J2EE tutorial, but didn't find the information where to tweak the application to set the actual form values. In my opinion this should happen in the Update Model Values phase, and that this phase has to be executed, when no errors occurs at validating the request parameters. But it seems this is not the case. Could you please help me again and push me in the right direction? Thanks a lot, I will name my first child after you, if my wife doesn't complain. :) Have a nice weekend! Peter Craig McClanahan wrote: On 2/10/06, Peter Goetz <[EMAIL PROTECTED]> wrote: Hello Craig, thank you very much, I didn't know that the action method is not executed when a validation error occurs. That seems to be the problem, because all of my form input fields are required fields and the messages get filled. Is there a way to skip validation on some actions? I would like to validate the form when submitting it, but not when I select one item in a list to fill the form with. Or is it standard behaviour to extract such data tables to an extra form in the .jsp? Thank you very much, what I wrote so far in this group is really excellent! The standard approach to doing this is to mark the commands you want to work this way with immediate="true". This causes the corresponding action to fire "immediately" :-) ... during the Apply Request Values phase of the request processing lifecycle, which comes *before* Process Validations. The most common use case for this is a Cancel button ... you don't want to have your validations executed if you're cancelling the input. But the same principle applies to your scenario. Good night! Peter Craig Craig McClanahan wrote: One thing to double check is whether some validation rules are failing, which would cause the action method call to get bypassed. The simplest way to verify this is to add an component to your page, which will display any validation messages that exist, or nothing if there were no messages. It's also possible that an exception is getting eaten somewhere along the way ... check the log file of your servlet container as well for any stack traces. Craig On 2/10/06, Peter Goetz <[EMAIL PROTECTED]> wrote: Hi there! I'm new to Struts, to Shale and to this list, so excuse if I'm asking dumb questions. I have a simple .jsp (personmaintenance.jsp), backed by a backing bean (PersonMaintenance.class. In the jsp I have buttons with actions "save", "edit", "delete", "create", for which I defined the corresponding methods in the backing bean. The backing bean has two attributes, a person (for the form to edit) and a persons Collection for an overview table. When calling the jsp (personmaintenance.faces), everything is fine. The Collection gets filled from the database, the person attribute is null. Unfortunately if I hit one of the buttons "edit" or "delete", the corresponding method is not being called. If the person attribute is filled from the start, everything works fine. Can somebody tell me what to do to get the methods executed when I hit the button and the argument is null? Or am I missing something elementary? Thanks a lot! Peter - 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] - 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]
Re: [Shale] Property in ViewController Backing Bean is null
Good morning Craig, thank you, I think I'm making a progress with your help. I set the immediate flag to true for my commandButton, and my method gets executed as I wanted it to do. In the edit method I set an attribute of the backing bean to its correct value (the person that should be edited in the form), and this attribute is set correctly (in the prerender method I see its correct values). But the form is not being filled with the values. I read the chapter about the lifecycle of a JSF page in the J2EE tutorial, but didn't find the information where to tweak the application to set the actual form values. In my opinion this should happen in the Update Model Values phase, and that this phase has to be executed, when no errors occurs at validating the request parameters. But it seems this is not the case. Could you please help me again and push me in the right direction? Thanks a lot, I will name my first child after you, if my wife doesn't complain. :) Have a nice weekend! Peter Craig McClanahan wrote: On 2/10/06, Peter Goetz <[EMAIL PROTECTED]> wrote: Hello Craig, thank you very much, I didn't know that the action method is not executed when a validation error occurs. That seems to be the problem, because all of my form input fields are required fields and the messages get filled. Is there a way to skip validation on some actions? I would like to validate the form when submitting it, but not when I select one item in a list to fill the form with. Or is it standard behaviour to extract such data tables to an extra form in the .jsp? Thank you very much, what I wrote so far in this group is really excellent! The standard approach to doing this is to mark the commands you want to work this way with immediate="true". This causes the corresponding action to fire "immediately" :-) ... during the Apply Request Values phase of the request processing lifecycle, which comes *before* Process Validations. The most common use case for this is a Cancel button ... you don't want to have your validations executed if you're cancelling the input. But the same principle applies to your scenario. Good night! Peter Craig Craig McClanahan wrote: One thing to double check is whether some validation rules are failing, which would cause the action method call to get bypassed. The simplest way to verify this is to add an component to your page, which will display any validation messages that exist, or nothing if there were no messages. It's also possible that an exception is getting eaten somewhere along the way ... check the log file of your servlet container as well for any stack traces. Craig On 2/10/06, Peter Goetz <[EMAIL PROTECTED]> wrote: Hi there! I'm new to Struts, to Shale and to this list, so excuse if I'm asking dumb questions. I have a simple .jsp (personmaintenance.jsp), backed by a backing bean (PersonMaintenance.class. In the jsp I have buttons with actions "save", "edit", "delete", "create", for which I defined the corresponding methods in the backing bean. The backing bean has two attributes, a person (for the form to edit) and a persons Collection for an overview table. When calling the jsp (personmaintenance.faces), everything is fine. The Collection gets filled from the database, the person attribute is null. Unfortunately if I hit one of the buttons "edit" or "delete", the corresponding method is not being called. If the person attribute is filled from the start, everything works fine. Can somebody tell me what to do to get the methods executed when I hit the button and the argument is null? Or am I missing something elementary? Thanks a lot! Peter - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Shale] Property in ViewController Backing Bean is null
Hello Craig, thank you very much, I didn't know that the action method is not executed when a validation error occurs. That seems to be the problem, because all of my form input fields are required fields and the messages get filled. Is there a way to skip validation on some actions? I would like to validate the form when submitting it, but not when I select one item in a list to fill the form with. Or is it standard behaviour to extract such data tables to an extra form in the .jsp? Thank you very much, what I wrote so far in this group is really excellent! Good night! Peter Craig McClanahan wrote: One thing to double check is whether some validation rules are failing, which would cause the action method call to get bypassed. The simplest way to verify this is to add an component to your page, which will display any validation messages that exist, or nothing if there were no messages. It's also possible that an exception is getting eaten somewhere along the way ... check the log file of your servlet container as well for any stack traces. Craig On 2/10/06, Peter Goetz <[EMAIL PROTECTED]> wrote: Hi there! I'm new to Struts, to Shale and to this list, so excuse if I'm asking dumb questions. I have a simple .jsp (personmaintenance.jsp), backed by a backing bean (PersonMaintenance.class. In the jsp I have buttons with actions "save", "edit", "delete", "create", for which I defined the corresponding methods in the backing bean. The backing bean has two attributes, a person (for the form to edit) and a persons Collection for an overview table. When calling the jsp (personmaintenance.faces), everything is fine. The Collection gets filled from the database, the person attribute is null. Unfortunately if I hit one of the buttons "edit" or "delete", the corresponding method is not being called. If the person attribute is filled from the start, everything works fine. Can somebody tell me what to do to get the methods executed when I hit the button and the argument is null? Or am I missing something elementary? Thanks a lot! Peter - 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]
[Shale] Property in ViewController Backing Bean is null
Hi there! I'm new to Struts, to Shale and to this list, so excuse if I'm asking dumb questions. I have a simple .jsp (personmaintenance.jsp), backed by a backing bean (PersonMaintenance.class. In the jsp I have buttons with actions "save", "edit", "delete", "create", for which I defined the corresponding methods in the backing bean. The backing bean has two attributes, a person (for the form to edit) and a persons Collection for an overview table. When calling the jsp (personmaintenance.faces), everything is fine. The Collection gets filled from the database, the person attribute is null. Unfortunately if I hit one of the buttons "edit" or "delete", the corresponding method is not being called. If the person attribute is filled from the start, everything works fine. Can somebody tell me what to do to get the methods executed when I hit the button and the argument is null? Or am I missing something elementary? Thanks a lot! Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]