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

Reply via email to