You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Colin Sharples (JIRA)" <de...@myfaces.apache.org> on 2005/11/14 23:11:28 UTC

[jira] Created: (MYFACES-823) Non-default Tiles extension is not applied on the first request

Non-default Tiles extension is not applied on the first request
---------------------------------------------------------------

         Key: MYFACES-823
         URL: http://issues.apache.org/jira/browse/MYFACES-823
     Project: MyFaces
        Type: Bug
  Components: Tomahawk  
    Versions: 1.1.0    
    Reporter: Colin Sharples
    Priority: Minor


The changes made for MYFACES-150 allow a different extension to be used for Tiles definitions (the default is .tiles). However, there is a bug in the implementation of this. The definitions factory is lazily loaded by getDefinitionsFactory(), and a non-default extension will be set at this time. The first time renderView() is called, though, it calculates the tilesId *before* getDefinitionsFactory() gets called, and will therefore use the default extension. On subsequent calls, the correct extension will be used. To fix this, a call needs to be made to getDefinitionsFactory() before the tilesId is calculated, e.g.:

        DefinitionsFactory factory = getDefinitionsFactory();
        String tilesId = viewId;
        int idx = tilesId.lastIndexOf('.');
        if (idx > 0)
        {
            tilesId = tilesId.substring(0, idx) + tilesExtension;
        }
        else
        {
            tilesId = tilesId  + tilesExtension;
        }
...
            definition = factory.getDefinition(tilesId, request, servletContext);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira