myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Dalla Bernardina <patr...@jfes.trf2.gov.br>
Subject Re: Portlet Modes
Date Wed, 05 Oct 2005 17:04:26 GMT
What is setPortletRequestFlag(request); for?



Dave Brondsema wrote:

>Cool.  Make sure you call setPortletRequestFlag(request); before
>nonFacesRequest.
>
>It might be useful to include part of this on the wiki page as an
>example for anyone else who wants to do that.
>
>Patrick Dalla Bernardina wrote:
>  
>
>>With your help I've made an improvement to the implementation in wiki page.
>>
>>Before calling nonFacesRequest I call an action of an bean called
>>PortletBackBean.
>>If this bean is not declared in managed beans, no method is called.
>>I'm showing only doEdit, but the same can be applied to doView.
>>
>>
>>   public void doEdit(RenderRequest request, RenderResponse
>>response)throws PortletException, IOException {
>>      Boolean isPortletModeChanged =
>>(Boolean)request.getAttribute(ATTR_PORTLET_MODE_CHANGED);
>>
>>      if (isPortletModeChanged.booleanValue()) {
>>          response.setContentType("text/html");
>>
>>           FacesContext fctx = facesContext(request, response);
>>           if(fctx!=null){
>>               MethodBinding mb =
>>fctx.getApplication().createMethodBinding("#{PortletBackBean.edit}", null);
>>               if(mb!=null){
>>                   try{
>>                       Object methodResult = mb.invoke(fctx, null);
>>                   }catch(PropertyNotFoundException e){
>>                       /* if the managed bean is not faound ignore the
>>calling*/
>>                   }
>>               }
>>           }
>>
>>          nonFacesRequest(request, response, defaultEdit);
>>                   return;
>>      }
>>
>>      facesRender(request, response);
>>   }
>>
>>
>>
>>
>>Dave Brondsema wrote:
>>
>>    
>>
>>>Patrick Dalla Bernardina wrote:
>>> 
>>>
>>>      
>>>
>>>>How can I call an managed bean action when portlet mode (EDIT,VIEW) is
>>>>changed and process the navigation rules to discover the page to be
>>>>rendered?
>>>>  
>>>>        
>>>>
>>>You can use http://wiki.apache.org/myfaces/UsingPortletModes as a
>>>starting point.
>>>
>>>To invoke a managed bean action, something like this will work I think:
>>>
>>>ValueBinding binding =
>>>FacesContext.getCurrentInstance().getApplication().createValueBinding("#{myBean.someAction}");
>>>
>>>Object methodResult =
>>>binding.getValue(FacesContext.getCurrentInstance());
>>>
>>>
>>> 
>>>
>>>      
>>>
>
>
>  
>


Mime
View raw message