1 package org.apache.jetspeed.services.jsp.tags; 2 3 18 19 import javax.servlet.jsp.JspException ; 20 import javax.servlet.jsp.PageContext ; 21 import javax.servlet.jsp.tagext.TagSupport ; 22 23 import org.apache.turbine.modules.ScreenLoader; 25 import org.apache.turbine.util.RunData; 26 import org.apache.turbine.services.jsp.JspService; 27 import org.apache.turbine.services.resources.TurbineResources; 28 import org.apache.ecs.ConcreteElement; 29 30 import org.apache.jetspeed.services.logging.JetspeedLogFactoryService; 32 import org.apache.jetspeed.services.logging.JetspeedLogger; 33 34 42 public class EcsScreenTag extends TagSupport 43 { 44 47 private static final JetspeedLogger logger = JetspeedLogFactoryService.getLogger(EcsScreenTag.class.getName()); 48 49 55 public int doStartTag() throws JspException 56 { 57 RunData data = (RunData)pageContext.getAttribute(JspService.RUNDATA, PageContext.REQUEST_SCOPE); 58 String screenName = data.getScreen(); 59 60 if ( screenName.equals( "BaseJspScreen" ) ) 63 { 64 screenName = TurbineResources.getString("screen.homepage"); 65 } 66 67 try 68 { 69 pageContext.getOut().flush(); 70 71 ConcreteElement screenElement = ScreenLoader.getInstance().eval( data, screenName ); 72 73 if ( screenElement != null ) 76 { 77 screenElement.setCodeSet( data.getResponse().getCharacterEncoding() ); 80 81 screenElement.output( data.getResponse().getWriter() ); 82 } 83 84 } 85 catch (Exception e) 86 { 87 String message = "Error processing ecs screen '" + screenName + "'."; 88 logger.error(message, e); 89 try 90 { 91 data.getOut().print("Error processing ecs screen '" + screenName + "'. See log for more information."); 92 } 93 catch(java.io.IOException ioe) {} 94 } 95 return SKIP_BODY; 96 } 97 } 98 | Popular Tags |