If you want prepare() to be called, you need to implement Preparable.
Matt
On Fri, Apr 11, 2008 at 7:50 AM, Martin Homik <[EMAIL PROTECTED]> wrote:
>
> Can anyone explain the mechanism of form pre-population. Since I am a newbie,
> my experience bases rather on a try-and-error approach. Related to my
> request is also my confusion about differences between generated code by
> appfuse:gen and the suggested approach in the online tutorial.
>
> I came across the problem when I implemented a simple Blog application. I
> had a POJO Class "Post" which comprises the fields title, body, created, and
> modified. The latter two fields are of type Date and they are not nullable.
> The Post JSP form shows only the title and body and allows both to edit. But
> when I edit an existing post that has a created/modfied timestamp and hit
> the save button, I get an exception coming from the database. For some
> reason, the timestamps got lost (set to null). Also, I do not understand why
> the action tests pass and the Canoo tests fail.
>
> I figured out that when I make both timestamps available to the JSP form as
> hidden information then everything is fine:
> <s:hidden name="post.created" value="%{post.created}"/>
> <s:hidden name="post.modified" value="%{post.modified}"/>
>
> I was not sure if this is the best solution so I have set up a new project,
> created the Post POJO class and run 'mvn appfuse:gen'. Surprisingly, the
> resulting PostAction class had a method 'prepare()' which is invoked when I
> open the Post list and form page. Then, I removed the date fields from the
> form and observed the changes in the database. In contrast to my original
> attempt the timestamps were still there. I assume, that the prepare() method
> is somehow in charge of this.
>
> So, I copied 'prepare()' to my original PostAction class in the other
> project which I implemented by following the tutorial. And guess what, the
> 'prepare()' method was not invoked. Why? What's the difference between the
> code in the online tutorial and the code generated by appfuse:gen? I was
> able to preserve the dates only when I added them to the form as hidden
> fields.
>
> Cheers,
> Martin
> --
> View this message in context:
> http://www.nabble.com/Struts2%2C-pre-polution--prepare%28%29-in-Action-class-tp16627847s2369p16627847.html
> Sent from the AppFuse - 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]