Eventos Jboss Portal ( Portlets )

1 resposta
victormenegusso

Olá a todos, estou estudando portlets, e eu ultilizo o eclipse como IDE, e o Jboss Portal como meu portal, e o meu problema é o seguinte:
Tenho uma interface para receber dados e outra para saidar dados, te eu tenho 4 paginas ( Home, A , B, C) na Home eu tenho as duas interfaces, na A tenho so a de saida, na B tenho as duas e na C tenho a de entrada.

Bom se eu digito na pagina home ou na pagina B a entrada, em todas as paginas que tem a saida a saida fica editada.. mas se eu digito na pagina C nem uma das minhas saidas ficam editadas

gostaria de saber oque estou fazendo de errado no evento, por nao estar dando certo, Obrigado a todos

segue o codigo....

P1
package org.combo;

import java.io.IOException;
import java.io.PrintWriter;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletConfig;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.UnavailableException;
import javax.portlet.EventPortlet;


public class P1 extends GenericPortlet {
	public void init(PortletConfig portletConfig) throws UnavailableException,
    PortletException {
		super.init(portletConfig);
	}

	public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
		// set return content type
		response.setContentType("text/html");
		//String aux= (String) request.getParameter("name");
		PortletRequestDispatcher reqDispatcher = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/entrada.jsp");
		reqDispatcher.include(request, response);
	}
	
	public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException, IOException, UnavailableException
	{
		String escolha = (String) actionRequest.getParameter("retorno");
		actionResponse.setEvent("comboEvent", escolha);
	}
}
P2
package org.combo;

import java.io.IOException;
import java.io.PrintWriter;

import javax.portlet.Event;
import javax.portlet.EventRequest;
import javax.portlet.EventResponse;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletConfig;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.UnavailableException;
import javax.portlet.EventPortlet;

public class P2 extends GenericPortlet {
	protected void doView(RenderRequest request, RenderResponse response)throws PortletException, IOException, UnavailableException {
		//request.setAttribute("leitura", dado);
		PortletRequestDispatcher reqDispatcher2 = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/saida.jsp");
		reqDispatcher2.include(request, response);
	}
	public void processEvent(EventRequest request, EventResponse response) throws PortletException, IOException {
		Event sampleEvent = request.getEvent();
		if(sampleEvent.getName().toString().equals("comboEvent")) {
			request.setAttribute("leitura", (String) sampleEvent.getValue());
		}
	}
}
Entrada
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

<portlet:defineObjects/>

<div align="center">
    ---------------------------TesteCombo--------------------------------------
   <br/><br/>
 <form action="<portlet:actionURL><portlet:param name="page" value="mainview"/></portlet:actionURL>" method="POST">
         <input type="text" name="retorno" value="digite seu nome"/>
         <input type="hidden" id="retorno" name="assunto" value=""/> 
                  <select class="selectBusca" id="retorno">  
                          
	<option value="LA">Los Angeles</option>
	<option value="DL">Dallas</option>
	<option value="MI">Miami</option>
	</select>
         <input type="submit">

   </form>
   <br/>
   -------------------------------------------------------------------------
---------------------------------------
</div>
</body>
</html>
Saida
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects/>

<div align="center">
   Ola, <%= renderRequest.getAttribute("leitura") %>!  <br>
   Welcome!
   <br/>
</div>
Portlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app
	xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
	version="2.0">

	<portlet>
		<portlet-name>P1</portlet-name>
		<display-name>P1</display-name>
		<portlet-class>org.combo.P1</portlet-class>
		<supports>
			<mime-type>text/html</mime-type>
			<portlet-mode>VIEW</portlet-mode>
		</supports>
		<portlet-info>
			<title>P1</title>
		</portlet-info>
		<supported-publishing-event>
			<name>comboEvent</name>
		</supported-publishing-event>
	</portlet>
	<portlet>
		<portlet-name>P2</portlet-name>
		<display-name>P2</display-name>
		<portlet-class>org.combo.P2</portlet-class>
		<supports>
			<mime-type>text/html</mime-type>
			<portlet-mode>VIEW</portlet-mode>
		</supports>
		<portlet-info>
			<title>P2</title>
		</portlet-info>
		<supported-processing-event>
			<name>comboEvent</name>
		</supported-processing-event>
	</portlet>
	<event-definition>
		<name>comboEvent</name>
		<value-type>java.lang.String</value-type>
	</event-definition>
</portlet-app>

1 Resposta

victormenegusso

ninguem ? :cry:

Criado 9 de abril de 2010
Ultima resposta 10 de abr. de 2010
Respostas 1
Participantes 1