2010/11/29 Jason Ferguson <fergusonja...@gmail.com>

> Struts will not automatically populate fields based on parameters passed
> via
> the URL. Your action will need to implement the ParameterAware interface,
> and the setParameters(Map<String, String[]> parameters) method. Then you
> can
> use the map to populate your fields.
>

Maurizio Cucchiara's answer seems like a good idea excepting I have add the
personbean.name=xxx. (The personBean is required)

I do not want to use the ParameterAware,I want to use a object save some
default value of some parameters rather than  the map.

Also,if using the parameterAware,why not using the
ActionContext.getcontext().getParameters() instead?



>
> Jason
>
> On Mon, Nov 29, 2010 at 5:25 AM, maven apache <apachemav...@gmail.com
> >wrote:
>
> > 2010/11/29 Maurizio Cucchiara <maurizio.cucchi...@gmail.com>
> >
> > > Frankly, even after I watched your question on stackoverflow, I can't
> > > figure out what you meant.
> > >
> > :(
> >
> > > You don't necessary need struts tag, you can pass parameter via http
> > > request, so, for example, if you enter
> > > http://your_url:your_port
> > > /your_struts.action?personBean.firstName=your_name
> > >  in the address bar
> > >
> > Thanks.
> >
> > I use the http://xxx.action?firstName=name. So it does not work.
> >
> >
> > http://your_url:your_port
> > /your_struts.action?personBean.firstName=your_name
> >
> > I do not know the parameter can be sent this way!!!
> > Thanks.
> >
> >
> > > struts will try to inject value inside your bean.
> > >
> > > Does this answer your question?
> > >
> > > 2010/11/29 maven apache <apachemav...@gmail.com>:
> > > > BTW,this is a cross post at
> > > > stackoverflow<
> > >
> >
> http://stackoverflow.com/questions/4300409/binding-paramters-in-struts2-without-the-form
> > > >
> > > > .
> > > >
> > > > 2010/11/29 maven apache <apachemav...@gmail.com>
> > > >
> > > >> <s:form action="register">
> > > >>
> > > >>
> > > >>       <s:textfield name="personBean.firstName" label="First name" />
> > > >>
> > > >>
> > > >>       <s:submit/>
> > > >> </s:form>
> > > >>
> > > >> public class Register extends ActionSupport {
> > > >>
> > > >>
> > > >>     private static final long serialVersionUID = 1L;
> > > >>
> > > >>
> > > >>     private Person personBean;
> > > >>
> > > >>
> > > >>         //................
> > > >> }
> > > >>
> > > >>
> > > >> Using the s:form tag one can bind the parameter from the client to a
> > > java
> > > >> object(the personBean in the Register action).
> > > >>
> > > >> However it seems that the struts tag is required,but my action is
> not
> > > >> called from the web form,so any way?
> > > >>
> > > >> And I tried this way:
> > > >>
> > > >> public class ParaWrapper(){
> > > >>
> > > >>
> > > >>   private String firstName;
> > > >>
> > > >>
> > > >>   public void setFirstName(String ..){
> > > >>
> > > >>
> > > >>     this.firstName=...
> > > >>
> > > >>
> > > >>   }
> > > >>   //the getter of firstName
> > > >>
> > > >>
> > > >>   public ....
> > > >>
> > > >> }
> > > >>
> > > >>
> > > >> public MyAction extends ActionSupport{
> > > >>
> > > >>
> > > >>   private ParaWrapper wrapper;
> > > >>
> > > >>
> > > >>   public void setXXX()...
> > > >>
> > > >>
> > > >>   public void getXXX()...
> > > >>
> > > >>
> > > >>   public void execute(){
> > > >>
> > > >>
> > > >>     System.out.println(wrapper.getFirstName()); //here I can not get
> > the
> > > parameters,it seems that the parameters are not populated to this
> object.
> > > >>
> > > >>
> > > >>   }
> > > >> }
> > > >>
> > > >> It does not work since struts does not know which object should be
> > used
> > > to bind the parameter.
> > > >>
> > > >>
> > > >> I wonder there is any way to using this manner?
> > > >>
> > > >>
> > > >
> > >
> > >
> > >
> > > --
> > > Maurizio Cucchiara
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > > For additional commands, e-mail: user-h...@struts.apache.org
> > >
> > >
> >
>

Reply via email to