My Portlet class is something like this:
package br.eti.faces.mail;
import java.io.IOException;
import javax.portlet.PortletException;
import javax.portlet.PortletMode
;
import javax.portlet.PortletSession;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.UnavailableException;
import org.apache.myfaces.portlet.MyFacesGenericPortlet
;
public class MailPortlet extends MyFacesGenericPortlet {
private String viewPage = null;
private String editPage = null;
private String helpPage = null;
public void init() throws UnavailableException, PortletException {
viewPage = (String) this.getInitParameter("ViewPage");
editPage = (String) this.getInitParameter("EditPage");
helpPage = (String) this.getInitParameter("HelpPage");
super.init();
}
public void render(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
PortletSession session = request.getPortletSession
();
PortletMode mode = (PortletMode)session.getAttribute("CurrentPortletMode");
if (mode == null) {
mode = request.getPortletMode();
}
if (!mode.equals(
request.getPortletMode())) {
request.setAttribute("isPortletModeChanged", Boolean.TRUE);
} else {
request.setAttribute("isPortletModeChanged", Boolean.FALSE);
}
session.setAttribute("CurrentPortletMode", request.getPortletMode());
super.render(request, response);
}
protected void setDefaultView() throws UnavailableException {
this.defaultView = getPortletConfig().getInitParameter(DEFAULT_VIEW);
if (defaultView == null) {
this.defaultView = this.viewPage;
}
if (defaultView == null) {
String msg = "Fatal2: must specify a JSF view id as the default view in portlet.xml";
throw new UnavailableException(msg);
}
}
protected void doEdit(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
Boolean isPortletModeChanged = (Boolean) request.getAttribute("isPortletModeChanged");
if (isPortletModeChanged.booleanValue()) {
setPortletRequestFlag(request);
nonFacesRequest(request, response, editPage);
return;
}
facesRender(request, response);
}
protected void doHelp(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
Boolean isPortletModeChanged = (Boolean) request.getAttribute("isPortletModeChanged");
if (isPortletModeChanged.booleanValue()) {
setPortletRequestFlag(request);
nonFacesRequest(request, response, helpPage);
return;
}
facesRender(request, response);
}
}
And the bean used in the page in View mode is this:
package br.eti.faces.mail;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Serializable
;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Properties;
import javax.faces.context.FacesContext;
import javax.portlet.PortletPreferences;
import javax.portlet.RenderRequest
;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* @author <a href="" href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]">Rogerio P. Araujo</a>
*/
public class MailView implements Serializable
{
static final long serialVersionUID = 1l;
private static Log log = LogFactory.getLog(MailView.class);
private String usuario;
private String senha;
private ArrayList<Mensagem> mensagens;
private String mensagem;
public MailView()
{
}
public String verificar()
{
return null;
}
public ArrayList<Mensagem> getMensagens() {
return mensagens;
}
public void setMensagens(ArrayList<Mensagem> mensagens) {
this.mensagens = mensagens;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
}
- Re: serialize a form bean using portlet bridges Rogerio Pereira
- Re: serialize a form bean using portlet bridges Nicolas Kalkhof
- Re: serialize a form bean using portlet bridges Rogerio Pereira

