Why do n't you let your action implement RequestAware interface and then get parameter from the request map.
--- On Tue, 3/17/09, Duan, Bin <bd...@claritas.com> wrote: > From: Duan, Bin <bd...@claritas.com> > Subject: Problem getting request parameters in HTTP GET in Struts 2 > To: user@struts.apache.org > Received: Tuesday, March 17, 2009, 7:01 PM > I was trying to get a parameter from > a Http GET. The get from jsp looks > like this: > > <a > href=/providerDetail.action?drProviderId=1000>Provider > Name > > The providerDetail.action maps to ProviderAction class. In > the action > class, I have a setDrProviderId() method, but found the id > was not set. > Then I tried to get the id from > ServletActionRequest.getRequest().getParameter("drProviderId"), > but > still did not get anything. > > > > I debugged the code, in the request object, I saw request > input as "GET > /providerDetail.action?drProviderId=1000", this pretty much > meant the > parameter was sent to the server side correctly. But > request.getParameter("drProviderId") returned me null. > > > > If I switch to use form POST, my setDrProviderId() method > was still NOT > called, but I could get the id from > request.getParameter("drProviderId"). > > > > This problem will almost be a show stopper for our project > to use > Struts. Anybody has any ideas of what could be wrong? > > > > I am using Struts 2.1.6. I tried both on oc4j and JBoss. > > > > > > > > Following is my struts.xml file > > > > > > <struts> > > > > <package name="dataReceiving" > extends="struts-default"> > > > > <action name="listProvider" > method="listProvider" > > > class="com.claritas.mms.radish.dataReceiving.DrProviderAction"> > > > <result>/dataReceiving/ProviderList.jsp</result> > > </action> > > <action > name="providerDetail" method="providerDetail" > > > class="com.claritas.mms.radish.dataReceiving.DrProviderAction"> > > > <result>/dataReceiving/ProviderDetails.jsp</result> > > </action> > > </package> > > > > </struts> > > > > Following is my DrProviderAction class > > > > public void setDrProviderId(String id) > > { > > this.drProviderId = new > Integer(id).intValue(); > > } > > > > public String providerDetail() > > { > > Map map = > request.getParameterMap(); > > > > String sid = > request.getParameter("drProviderId"); > > drProviderId = new > Integer(sid).intValue(); > > //check if the > > if(session != null) > > { > > Map<Integer, > DrProvider> providerMap = > (Map)session.get("provider_map"); > > if(providerMap != > null) > > { > > > provider = providerMap.get(drProviderId); > > } > > > } > > else //go to database > > { > > provider = > service.getProvider(drProviderId); > > } > > > > return SUCCESS; > > > > } > > > > > > __________________________________________________________________ Instant Messaging, free SMS, sharing photos and more... Try the new Yahoo! Canada Messenger at http://ca.beta.messenger.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org