/*
* Arquivo criado em Feb 11, 2005 por jespdb
*/
package org.jboss.portal.theme.taglib;
import java.util.Iterator;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.jboss.portal.core.theme.Item;
import org.jboss.portal.core.theme.PageHolder;
import org.jboss.portal.core.theme.Region;
import org.jboss.portal.core.theme.RegionSet;
import org.jboss.portal.server.output.FragmentResult;
/**
* @author Patrick Dalla Bernardina
*
*/
public class RegionRenderTag extends BodyTagSupport {
String regionName;
Region region;
/*
* page context attribute where will be saved the
* window context of the portlet
*/
public static final String PCTX_FRAGMENT =
"org.jboss.portal.server.taglib.fragment";
String portletRenderJsp;
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
/*
* extract the region from the pageHolder
* of the request.
*/
PageHolder _page =
(PageHolder)pageContext.getRequest().getAttribute("PAGE");
RegionSet regions = _page.getRegions();
region = regions.getRegion(regionName);
}
public void renderFragment(FragmentResult fragment) throws JspException{
pageContext.getRequest().setAttribute(PCTX_FRAGMENT, fragment);
try{
pageContext.include(portletRenderJsp);
}catch(Exception e){
try{
if(pageContext.getOut()!=null){
if(e.getMessage()!=null)
pageContext.getOut().write(e.getMessage());
}else{
System.out.println(e.getMessage());
}
}catch(Exception e2){
throw new JspException(e2);
}
}
}
public int doStartTag() throws JspException {
if(portletRenderJsp==null){
portletRenderJsp = "/nodesk/portlet.jsp";
}
if(regionName.equals("maximized")){
PageHolder _page =
(PageHolder)pageContext.getRequest().getAttribute("PAGE");
FragmentResult main = _page.getMain();
renderFragment(main);
} else if(region!=null){
if (!region.isEmpty()) {
for (Iterator i = region.items();i.hasNext();)
{
Item item = (Item)i.next();
FragmentResult fragment =
item.getFragment();
renderFragment(fragment);
}
}
}
// TODO Auto-generated method stub
return super.doStartTag();
}
public String getPortletRenderJsp() {
return portletRenderJsp;
}
public void setPortletRenderJsp(String portletRenderJsp) {
this.portletRenderJsp = portletRenderJsp;
}
}
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3866192#3866192
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3866192
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development