My understanding is that I can use

      ExternalContext extCtx = FacesContext.getCurrentInstance().getExternalContext().encodeNamespace(...)

As a pluggable way to provide a unique id strategy for components (as long as I can create the external context... no problem there).  Certainly this works in my faces because this is how unique ID's are generated. 

 

Myfaces:

    public String createUniqueId()

    {

        ExternalContext extCtx = FacesContext.getCurrentInstance().getExternalContext();

        return extCtx.encodeNamespace(UNIQUE_ID_PREFIX + _uniqueIdCounter++);

    }

 

Am I correct in my assumption? And is this something that can be relied on from one faces implementation to another?

 

 

The reason I ask is because I am deploying the same portlet with the same context many times in Liferay.  The portlet shows up properly but the ID's are all the same so submits and further actions usually result in one portlet responding (if anything).

 

Thanks

-Russ

Reply via email to