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 > > > > > > > > >