Archive for December 14th, 2007

Estes dias tivemos que realizar uma prova de conceito se o DWR rodava no JBoss Portal. A minha primeira impressão era que seria possível, mas em primeira instância a referência aos JavaScripts deveria ser feita nos templates, porém devido a flexibilidade no JBP toda referência fica nas próprias Páginas enviadas para o cliente pelo o Portlet.

Veja o exemplo da chamada no Html:

[html]

< %@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>

< % String contextPath = renderResponse.encodeURL(renderRequest.getContextPath()); %>

script type=”text/javascript”>

script type=”text/javascript”>< %=contextPath%>/dwr/util.js

[/html]

Sendo assim, a referência é buscada pelo objeto renderResponse, retornando assim o local de execução do contexto http do jboss portal.

O código do Portlet é mais ou menos assim:

[java]

package org.jboss.portal.samples.dwr;

import java.io.IOException;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
public class DWRPortlet extends GenericPortlet {
@Override
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { |
response.setContentType(”text/html”);
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher (”/WEB-INF/dwr/view.jsp”);

prd.include(request, response); }
}

[/java]

Veja o resultado na seguinte imagem:

DWR no JBoss Portal