need some help to write a prepopulated form

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

need some help to write a prepopulated form

Alex
Hi Stripe users,

I need some help from more experienced Stripe users please, I just started
my first project and became stuck on that simple problem:
I want to write a form to read from and write into a database.
So I started with to prepopulate a field but do not understand the correct
Stripe-way to do it.
Instead of a prepopulation I got an override of my input, so I am quite
confused.
I want to have a field populated before it is shown to the user and then
save the new input (as everybody expects it).
What do I miss? How should I change the code beollow?
Thank you in advance!

Here is my code:

PersonActionBean:
-----------------
public class PersonActionBean implements ActionBean {
  private String person;
        private ActionBeanContext context;
 
        @Before void init() {
                person = "test";
        }
       
        @DefaultHandler
        public Resolution show() {
                return new ForwardResolution("/show.jsp");
        }

        public Resolution save() {
                return new ForwardResolution("/save.jsp");
        }

        @Override
        public ActionBeanContext getContext() {
                return context;
        }

        @Override
        public void setContext(ActionBeanContext context) {
                this.context = context;
        }

        public String getPerson() {
                return person;
        }

        public void setPerson(String person) {
                this.person = person;
        }
}

show.jsp:
---------
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="stripes" ...%>
<!DOCTYPE html PUBLIC>
<html>
<head></head>
</body>
        <stripes:form beanclass="test.PersonActionBean">
        <stripes:text name="person"  value="${actionBean.person}" />
  <stripes:submit name="save" value="Save" />
        <stripes:errors />
        </stripes:form>
<body>
</html>


save.jsp:
---------
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="stripes" ...%>
<!DOCTYPE html PUBLIC>
<html>
<head>
</head>
<body>
<p>person: ${actionBean.person}</p>
</body>
</html>




------------------------------------------------------------------------------
_______________________________________________
Stripes-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/stripes-users
Reply | Threaded
Open this post in threaded view
|

Re: need some help to write a prepopulated form

Iwao AVE!
Hi Alex,

You didn't specify 'stages' in @Before (the default value is EventHandling).
To repopulate the value, you need to specify stages =
LifecycleStage.BindingAndValidation.

And check out the doc about life cycles if you haven't.
http://www.stripesframework.org/display/stripes/Lifecycles+Etc.

Regards,
Iwao

2014-08-10 18:21 GMT+09:00 Alex <[hidden email]>:

> Hi Stripe users,
>
> I need some help from more experienced Stripe users please, I just started
> my first project and became stuck on that simple problem:
> I want to write a form to read from and write into a database.
> So I started with to prepopulate a field but do not understand the correct
> Stripe-way to do it.
> Instead of a prepopulation I got an override of my input, so I am quite
> confused.
> I want to have a field populated before it is shown to the user and then
> save the new input (as everybody expects it).
> What do I miss? How should I change the code beollow?
> Thank you in advance!
>
> Here is my code:
>
> PersonActionBean:
> -----------------
> public class PersonActionBean implements ActionBean {
>         private String person;
>         private ActionBeanContext context;
>
>         @Before void init() {
>                 person = "test";
>         }
>
>         @DefaultHandler
>         public Resolution show() {
>                 return new ForwardResolution("/show.jsp");
>         }
>
>         public Resolution save() {
>                 return new ForwardResolution("/save.jsp");
>         }
>
>         @Override
>         public ActionBeanContext getContext() {
>                 return context;
>         }
>
>         @Override
>         public void setContext(ActionBeanContext context) {
>                 this.context = context;
>         }
>
>         public String getPerson() {
>                 return person;
>         }
>
>         public void setPerson(String person) {
>                 this.person = person;
>         }
> }
>
> show.jsp:
> ---------
> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
> <%@ taglib prefix="stripes" ...%>
> <!DOCTYPE html PUBLIC>
> <html>
> <head></head>
> </body>
>         <stripes:form beanclass="test.PersonActionBean">
>         <stripes:text name="person"  value="${actionBean.person}" />
>         <stripes:submit name="save" value="Save" />
>         <stripes:errors />
>         </stripes:form>
> <body>
> </html>
>
>
> save.jsp:
> ---------
> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
> <%@ taglib prefix="stripes" ...%>
> <!DOCTYPE html PUBLIC>
> <html>
> <head>
> </head>
> <body>
> <p>person: ${actionBean.person}</p>
> </body>
> </html>
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Stripes-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/stripes-users

------------------------------------------------------------------------------
_______________________________________________
Stripes-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/stripes-users