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:



Entries (RSS)