Re: Form Submission Question

2007-11-16 Thread Ted Husted
Just to further Dave is saying.

If the class is a proper JavaBean with a zero-argument constructor, if
it is null during autopopulation, then the framework will
automatically instantiate it.

For fancier implementations, we can even provide a custom type
converter for a class, that could do something like lookup a complete
City record from a database based on the ID.

 * http://struts.apache.org/2.x/docs/type-conversion.html

HTH, Ted.

On Nov 15, 2007 5:15 PM, Dave Newton [EMAIL PROTECTED] wrote:
 Or you can put the city.id in the form as a hidden
 field.

 d.

 --- Hernandez, David [EMAIL PROTECTED]
 wrote:

 

   Sorry, The problem was that building has a member
  variable that is a
  class (City) which is going out of scope.
  Building.toString() calls
  city.getId() throwing the exception and returning
  null . . .
  Now, to keep that in scope somehow . . .
 
  -Original Message-
  From: Hernandez, David
  Sent: Thursday, November 15, 2007 3:12 PM
  To: 'Struts Users Mailing List'
  Subject: RE: Form Submission Question
 
  I'm having a problem with my bean going out of
  scope. The form is
  populated with the bean information fine, but when I
  submit building is
  null? How do I keep it in scope? Do I have to pull
  it back out of the
  ActionContext?
 
  public class BuildingFormTestAction extends
  ActionSupport {
private static final long serialVersionUID =
  6692492667406189130L;
private Building building;
public String init() throws Exception
{
//Fetch Building from db . . .
return ActionSupport.SUCCESS;
}
public String execute() throws Exception
{
System.out.println(Submitting: );
System.out.println(building);//PRINTS NULL!
return ActionSupport.SUCCESS;
}
public void setBuilding(Building b)
{
building = b;
}
public Building getBuilding()
{
return building;
}
  }
 
  Here's the JSP Form:
  s:form action=setBuilding method=POST
s:push value=building
s:textfield label=Name name=name /
s:textfield label=Address name=streetAddress
  /
s:textfield label=Lat name=latitude /
s:textfield label=Long name=longitude /
s:checkbox  label=Active name=active /
s:textfield label=Zip name=zip /
s:submit /
/s:push
  /s:form
 
  And Struts.xml exerpt:
  action name=form class=BuildingFormTestAction
  method=init
result/buildingFormTest.jsp/result
result name=input/error.jsp/result
  /action action
  name=setBuilding class=BuildingFormTestAction
  method=execute
result/buildingFormTest.jsp/result
result name=error/error.jsp/result /action
 
  -Original Message-
  From: Dave Newton [mailto:[EMAIL PROTECTED]
  Sent: Thursday, November 15, 2007 2:20 PM
  To: Struts Users Mailing List
  Subject: Re: Form Submission Question
 
  --- Gary Affonso [EMAIL PROTECTED] wrote:
   Dave Newton wrote:
   The action that *processes* the form submission
  may extend
   ActionSupport.
  
   Dave knows that, of course, but I didn't want the
  emphasis on
   *processes* above to make you think
  ActionSupport was only
   appropriate for form processing actions.
 
  Yep, that was a good clarificaton to make :)
 
  d.

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



Re: Form Submission Question

2007-11-16 Thread Ted Husted
Patches are always welcome (once you get it figured out) :)

On Nov 15, 2007 2:22 PM, Hernandez, David [EMAIL PROTECTED] wrote:

 Thanks guys. The bootstrap should have an example where the fields are
 populated by the Action Class's member variables. But I figured it out,
 I think . . .

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



Form Submission Question

2007-11-15 Thread Hernandez, David

Can anyone point me to a location that outlines the Form
submission/processing flow for struts 2? I'm having a bit of a problem
deciphering how forms are supposed to be handled. For instance I have a
Bean (Building) that I want to update (to a DB) from a form:

JSP:
s:form action=setBuilding method=POST
s:textfield name=name value=name /
s:textfield name=streetAddress value=streetAddress /
s:textfield name=latitude value=latitude /
s:textfield name=longitude value=longitude /
s:checkbox  name=active value=active /
s:textfield name=zip value=zip /
/s:form

Should I have the bean extend ActionSupport and implement the execute
method? That seems like it would be a violation of the MVC model . . .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- - - -

This message is intended only for the personal and confidential use of the 
designated recipient(s) named above.  If you are not the intended recipient of 
this message you are hereby notified that any review, dissemination, 
distribution or copying of this message is strictly prohibited.  This 
communication is for information purposes only and should not be regarded as an 
offer to sell or as a solicitation of an offer to buy any financial product, an 
official confirmation of any transaction, or as an official statement of Lehman 
Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  
Therefore, we do not represent that this information is complete or accurate 
and it should not be relied upon as such.  All information is subject to change 
without notice.


IRS Circular 230 Disclosure:
Please be advised that any discussion of U.S. tax matters contained within this 
communication (including any attachments) is not intended or written to be used 
and cannot be used for the purpose of (i) avoiding U.S. tax related penalties 
or (ii) promoting, marketing or recommending to another party any transaction 
or matter addressed herein.



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



Re: Form Submission Question

2007-11-15 Thread Dave Newton
--- Gary Affonso [EMAIL PROTECTED] wrote:
 Dave Newton wrote:
 The action that *processes* the form submission
 may extend ActionSupport.
 
 Dave knows that, of course, but I didn't want the
 emphasis on  *processes* above to make you 
 think ActionSupport was only appropriate 
 for form processing actions.

Yep, that was a good clarificaton to make :)

d.


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



RE: Form Submission Question

2007-11-15 Thread Hernandez, David

Thanks guys. The bootstrap should have an example where the fields are
populated by the Action Class's member variables. But I figured it out,
I think . . . 

-Original Message-
From: Dave Newton [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 15, 2007 2:20 PM
To: Struts Users Mailing List
Subject: Re: Form Submission Question

--- Gary Affonso [EMAIL PROTECTED] wrote:
 Dave Newton wrote:
 The action that *processes* the form submission may extend 
 ActionSupport.
 
 Dave knows that, of course, but I didn't want the emphasis on  
 *processes* above to make you think ActionSupport was only 
 appropriate for form processing actions.

Yep, that was a good clarificaton to make :)

d.


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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- - - -

This message is intended only for the personal and confidential use of the 
designated recipient(s) named above.  If you are not the intended recipient of 
this message you are hereby notified that any review, dissemination, 
distribution or copying of this message is strictly prohibited.  This 
communication is for information purposes only and should not be regarded as an 
offer to sell or as a solicitation of an offer to buy any financial product, an 
official confirmation of any transaction, or as an official statement of Lehman 
Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  
Therefore, we do not represent that this information is complete or accurate 
and it should not be relied upon as such.  All information is subject to change 
without notice.


IRS Circular 230 Disclosure:
Please be advised that any discussion of U.S. tax matters contained within this 
communication (including any attachments) is not intended or written to be used 
and cannot be used for the purpose of (i) avoiding U.S. tax related penalties 
or (ii) promoting, marketing or recommending to another party any transaction 
or matter addressed herein.



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



Re: Form Submission Question

2007-11-15 Thread Gary Affonso

Dave Newton wrote:

The action that *processes* the form submission may
extend ActionSupport.


Yup.  Note that it's commonly not just form processing actions that 
extend ActionSupport, it's often all actions.


Dave knows that, of course, but I didn't want the emphasis on 
*processes* above to make you think ActionSupport was only appropriate 
for form processing actions.


Your beans do *not* extend ActionSupport.  They're typically referenced 
within the action as a standard property and getters/setters for that 
property.  That way your form/views have access to the bean's properties 
through a variety of view/form techniques.


- Gary

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



Re: Form Submission Question

2007-11-15 Thread Dave Newton
The action that *processes* the form submission may
extend ActionSupport. You submit the form to an
action. The action either contains the fields of the
form or contains a bean that can be used on the form.

The bootstrap tutorial goes through a simple form
processing example.

http://struts.apache.org/2.x/docs/bootstrap.html

d.

--- Hernandez, David [EMAIL PROTECTED]
wrote:

 
 Can anyone point me to a location that outlines the
 Form
 submission/processing flow for struts 2? I'm having
 a bit of a problem
 deciphering how forms are supposed to be handled.
 For instance I have a
 Bean (Building) that I want to update (to a DB) from
 a form:
 
 JSP:
 s:form action=setBuilding method=POST
   s:textfield name=name value=name /
   s:textfield name=streetAddress
 value=streetAddress /
   s:textfield name=latitude value=latitude /
   s:textfield name=longitude value=longitude /
   s:checkbox  name=active value=active /
   s:textfield name=zip value=zip /
 /s:form
 
 Should I have the bean extend ActionSupport and
 implement the execute
 method? That seems like it would be a violation of
 the MVC model . . .
 - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - - - - - - - - - - - - - -
 
 This message is intended only for the personal and
 confidential use of the designated recipient(s)
 named above.  If you are not the intended recipient
 of this message you are hereby notified that any
 review, dissemination, distribution or copying of
 this message is strictly prohibited.  This
 communication is for information purposes only and
 should not be regarded as an offer to sell or as a
 solicitation of an offer to buy any financial
 product, an official confirmation of any
 transaction, or as an official statement of Lehman
 Brothers.  Email transmission cannot be guaranteed
 to be secure or error-free.  Therefore, we do not
 represent that this information is complete or
 accurate and it should not be relied upon as such. 
 All information is subject to change without notice.
 
 
 IRS Circular 230 Disclosure:
 Please be advised that any discussion of U.S. tax
 matters contained within this communication
 (including any attachments) is not intended or
 written to be used and cannot be used for the
 purpose of (i) avoiding U.S. tax related penalties
 or (ii) promoting, marketing or recommending to
 another party any transaction or matter addressed
 herein.
 
 
 

-
 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: Form Submission Question

2007-11-15 Thread Hernandez, David

I'm having a problem with my bean going out of scope. The form is
populated with the bean information fine, but when I submit building is
null? How do I keep it in scope? Do I have to pull it back out of the
ActionContext?

public class BuildingFormTestAction extends ActionSupport 
{
private static final long serialVersionUID =
6692492667406189130L;
private Building building;
public String init() throws Exception 
{
//Fetch Building from db . . .
return ActionSupport.SUCCESS;
}
public String execute() throws Exception
{
System.out.println(Submitting: );
System.out.println(building);//PRINTS NULL!
return ActionSupport.SUCCESS;
}
public void setBuilding(Building b)
{
building = b;
}
public Building getBuilding()
{
return building;
}
}

Here's the JSP Form:
s:form action=setBuilding method=POST
s:push value=building
s:textfield label=Name name=name /
s:textfield label=Address name=streetAddress /
s:textfield label=Lat name=latitude /
s:textfield label=Long name=longitude /
s:checkbox  label=Active name=active /
s:textfield label=Zip name=zip /
s:submit /
/s:push
/s:form

And Struts.xml exerpt:
action name=form class=BuildingFormTestAction method=init
result/buildingFormTest.jsp/result
result name=input/error.jsp/result
/action
action name=setBuilding class=BuildingFormTestAction
method=execute
result/buildingFormTest.jsp/result
result name=error/error.jsp/result
/action

-Original Message-
From: Dave Newton [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 15, 2007 2:20 PM
To: Struts Users Mailing List
Subject: Re: Form Submission Question

--- Gary Affonso [EMAIL PROTECTED] wrote:
 Dave Newton wrote:
 The action that *processes* the form submission may extend 
 ActionSupport.
 
 Dave knows that, of course, but I didn't want the emphasis on  
 *processes* above to make you think ActionSupport was only 
 appropriate for form processing actions.

Yep, that was a good clarificaton to make :)

d.


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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- - - -

This message is intended only for the personal and confidential use of the 
designated recipient(s) named above.  If you are not the intended recipient of 
this message you are hereby notified that any review, dissemination, 
distribution or copying of this message is strictly prohibited.  This 
communication is for information purposes only and should not be regarded as an 
offer to sell or as a solicitation of an offer to buy any financial product, an 
official confirmation of any transaction, or as an official statement of Lehman 
Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  
Therefore, we do not represent that this information is complete or accurate 
and it should not be relied upon as such.  All information is subject to change 
without notice.


IRS Circular 230 Disclosure:
Please be advised that any discussion of U.S. tax matters contained within this 
communication (including any attachments) is not intended or written to be used 
and cannot be used for the purpose of (i) avoiding U.S. tax related penalties 
or (ii) promoting, marketing or recommending to another party any transaction 
or matter addressed herein.



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



RE: Form Submission Question

2007-11-15 Thread Dave Newton
Or you can put the city.id in the form as a hidden
field.

d.

--- Hernandez, David [EMAIL PROTECTED]
wrote:

 
  Sorry, The problem was that building has a member
 variable that is a
 class (City) which is going out of scope.
 Building.toString() calls
 city.getId() throwing the exception and returning
 null . . .
 Now, to keep that in scope somehow . . .
 
 -Original Message-
 From: Hernandez, David 
 Sent: Thursday, November 15, 2007 3:12 PM
 To: 'Struts Users Mailing List'
 Subject: RE: Form Submission Question
 
 I'm having a problem with my bean going out of
 scope. The form is
 populated with the bean information fine, but when I
 submit building is
 null? How do I keep it in scope? Do I have to pull
 it back out of the
 ActionContext?
 
 public class BuildingFormTestAction extends
 ActionSupport {
   private static final long serialVersionUID =
 6692492667406189130L;
   private Building building;
   public String init() throws Exception 
   {
   //Fetch Building from db . . .
   return ActionSupport.SUCCESS;
   }
   public String execute() throws Exception
   {
   System.out.println(Submitting: );
   System.out.println(building);//PRINTS NULL!
   return ActionSupport.SUCCESS;
   }
   public void setBuilding(Building b)
   {
   building = b;
   }
   public Building getBuilding()
   {
   return building;
   }
 }
 
 Here's the JSP Form:
 s:form action=setBuilding method=POST
   s:push value=building
   s:textfield label=Name name=name /
   s:textfield label=Address name=streetAddress
 /
   s:textfield label=Lat name=latitude /
   s:textfield label=Long name=longitude /
   s:checkbox  label=Active name=active /
   s:textfield label=Zip name=zip /
   s:submit /
   /s:push
 /s:form
 
 And Struts.xml exerpt:
 action name=form class=BuildingFormTestAction
 method=init
   result/buildingFormTest.jsp/result
   result name=input/error.jsp/result
 /action action
 name=setBuilding class=BuildingFormTestAction
 method=execute
   result/buildingFormTest.jsp/result
   result name=error/error.jsp/result /action
 
 -Original Message-
 From: Dave Newton [mailto:[EMAIL PROTECTED]
 Sent: Thursday, November 15, 2007 2:20 PM
 To: Struts Users Mailing List
 Subject: Re: Form Submission Question
 
 --- Gary Affonso [EMAIL PROTECTED] wrote:
  Dave Newton wrote:
  The action that *processes* the form submission
 may extend 
  ActionSupport.
  
  Dave knows that, of course, but I didn't want the
 emphasis on 
  *processes* above to make you think
 ActionSupport was only 
  appropriate for form processing actions.
 
 Yep, that was a good clarificaton to make :)
 
 d.
 
 

-
 To unsubscribe, e-mail:
 [EMAIL PROTECTED]
 For additional commands, e-mail:
 [EMAIL PROTECTED]
 
 - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - - - - - - - - - - - - - -
 
 This message is intended only for the personal and
 confidential use of the designated recipient(s)
 named above.  If you are not the intended recipient
 of this message you are hereby notified that any
 review, dissemination, distribution or copying of
 this message is strictly prohibited.  This
 communication is for information purposes only and
 should not be regarded as an offer to sell or as a
 solicitation of an offer to buy any financial
 product, an official confirmation of any
 transaction, or as an official statement of Lehman
 Brothers.  Email transmission cannot be guaranteed
 to be secure or error-free.  Therefore, we do not
 represent that this information is complete or
 accurate and it should not be relied upon as such. 
 All information is subject to change without notice.
 
 
 IRS Circular 230 Disclosure:
 Please be advised that any discussion of U.S. tax
 matters contained within this communication
 (including any attachments) is not intended or
 written to be used and cannot be used for the
 purpose of (i) avoiding U.S. tax related penalties
 or (ii) promoting, marketing or recommending to
 another party any transaction or matter addressed
 herein.
 
 
 

-
 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: Form Submission Question

2007-11-15 Thread Hernandez, David

 Sorry, The problem was that building has a member variable that is a
class (City) which is going out of scope. Building.toString() calls
city.getId() throwing the exception and returning null . . .
Now, to keep that in scope somehow . . .

-Original Message-
From: Hernandez, David 
Sent: Thursday, November 15, 2007 3:12 PM
To: 'Struts Users Mailing List'
Subject: RE: Form Submission Question

I'm having a problem with my bean going out of scope. The form is
populated with the bean information fine, but when I submit building is
null? How do I keep it in scope? Do I have to pull it back out of the
ActionContext?

public class BuildingFormTestAction extends ActionSupport {
private static final long serialVersionUID =
6692492667406189130L;
private Building building;
public String init() throws Exception 
{
//Fetch Building from db . . .
return ActionSupport.SUCCESS;
}
public String execute() throws Exception
{
System.out.println(Submitting: );
System.out.println(building);//PRINTS NULL!
return ActionSupport.SUCCESS;
}
public void setBuilding(Building b)
{
building = b;
}
public Building getBuilding()
{
return building;
}
}

Here's the JSP Form:
s:form action=setBuilding method=POST
s:push value=building
s:textfield label=Name name=name /
s:textfield label=Address name=streetAddress /
s:textfield label=Lat name=latitude /
s:textfield label=Long name=longitude /
s:checkbox  label=Active name=active /
s:textfield label=Zip name=zip /
s:submit /
/s:push
/s:form

And Struts.xml exerpt:
action name=form class=BuildingFormTestAction method=init
result/buildingFormTest.jsp/result
result name=input/error.jsp/result /action action
name=setBuilding class=BuildingFormTestAction method=execute
result/buildingFormTest.jsp/result
result name=error/error.jsp/result /action

-Original Message-
From: Dave Newton [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 15, 2007 2:20 PM
To: Struts Users Mailing List
Subject: Re: Form Submission Question

--- Gary Affonso [EMAIL PROTECTED] wrote:
 Dave Newton wrote:
 The action that *processes* the form submission may extend 
 ActionSupport.
 
 Dave knows that, of course, but I didn't want the emphasis on 
 *processes* above to make you think ActionSupport was only 
 appropriate for form processing actions.

Yep, that was a good clarificaton to make :)

d.


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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- - - -

This message is intended only for the personal and confidential use of the 
designated recipient(s) named above.  If you are not the intended recipient of 
this message you are hereby notified that any review, dissemination, 
distribution or copying of this message is strictly prohibited.  This 
communication is for information purposes only and should not be regarded as an 
offer to sell or as a solicitation of an offer to buy any financial product, an 
official confirmation of any transaction, or as an official statement of Lehman 
Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  
Therefore, we do not represent that this information is complete or accurate 
and it should not be relied upon as such.  All information is subject to change 
without notice.


IRS Circular 230 Disclosure:
Please be advised that any discussion of U.S. tax matters contained within this 
communication (including any attachments) is not intended or written to be used 
and cannot be used for the purpose of (i) avoiding U.S. tax related penalties 
or (ii) promoting, marketing or recommending to another party any transaction 
or matter addressed herein.



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