You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Edoardo Galdi <ga...@arcadia.it> on 2001/06/20 17:50:24 UTC

BUG ?!?!

Hello to everybody!
I found that the output of the EcsScreen tag is bound to that of the JetspeedNavigation tag (I'm working with the 1.3a1 version of Jetspeed).
Is it a bug? If not, why?

In any case, if someone would like to unbind those should modify the EcsScreenTag class making a flush of the output stream of the pageContext object before generating the output of the screenElement object.


current version:

public class EcsScreenTag extends TagSupport 
{
    ...
    public int doStartTag() throws JspException 
    {
        RunData data = (RunData)pageContext.getAttributeJspService.RUNDATA,PageContext.REQUEST_SCOPE);    
        
        try
        {  
            ConcreteElement screenElement = (ConcreteElement)data.getRequest().getAttribute("screen_ECS");
            

            screenElement.output(data.getOut());
        }
        catch (Exception e)
        {
            String message = "Error processing ecs screen (EcsScreenTag)";
            Log.error(message, e);
            try
            {
                data.getOut().print("Error processing ecs screen  (EcsScreenTag)");
            }
            catch(java.io.IOException ioe) {}    
        }
        return SKIP_BODY;
    }
    ...
}



newer version:

public class EcsScreenTag extends TagSupport 
{
    ...
    public int doStartTag() throws JspException 
    {
        RunData data = (RunData)pageContext.getAttributeJspService.RUNDATA,PageContext.REQUEST_SCOPE);    
        
        try
        {  
            ConcreteElement screenElement = (ConcreteElement)data.getRequest().getAttribute("screen_ECS");
            
            pageContext.getOut().flush();                               <================== ADDED LINE
            
            screenElement.output(data.getOut());
        }
        catch (Exception e)
        {
            String message = "Error processing ecs screen (EcsScreenTag)";
            Log.error(message, e);
            try
            {
                data.getOut().print("Error processing ecs screen  (EcsScreenTag)");
            }
            catch(java.io.IOException ioe) {}    
        }
        return SKIP_BODY;
    }
    ...
}


Bye, Edo.