Boa tarde pessoal,
Bom, tenho uma tela de pesquisa onde tenho três campos básicos (login):
1. <html:select property="idunidade" size="1">
2. <html:text property="usuario" maxlength="25" size="36" onfocus=""/>
3. <html:password property="senha" maxlength="25" size="36"/>
O problema consiste em que ao abrir esta tela de login, no campo select, devera ser “populado” automaticamente por um “bean” gravado na sessão.
Imagino que “ao carregado do <body>” ele fosse até o meu ActionForm e fizesse a busca, gravasse o objeto na sessão e só que não sei como pegar esse objeto “bean popupado” e popular o meu select!!!
package com.webeduk.action;
import com.webeduk.actionform.LoginActionForm;
import com.webeduk.classesbeans.Unidade;
import com.webeduk.classesbeans.Usuario;
import com.webeduk.classesdatabase.UnidadeDBAccess;
import com.webeduk.classesdatabase.UsuarioDBAccess;
import com.webeduk.database.DBAccess;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.actions.LookupDispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import java.util.*;
public class LoginAction extends LookupDispatchAction {
/* forward name="success" path="" */
private final static String SUCCESS = "principal";
private final static String ERROR = "loginfailed";
protected Map getKeyMethodMap() {
Map map = new HashMap();
map.put("button.consultar", "add");
map.put("button.edit", "edit");
map.put("button.delete", "delete");
return map;
}
/** Action called on Add button click
*/
public ActionForward buildComboUnidades(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws java.lang.Exception
{
try
{
List unidade = UnidadeDBAccess.loadUnidades();
request.getSession().setAttribute("unidade",unidade);
}
catch (NullPointerException e)
{
return new ActionForward(mapping.getInput());
}
return new ActionForward(mapping.getInput());
}
/** Action called on Edit button click
*/
public ActionForward edit(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
// TODO: implement edit method
return mapping.findForward(SUCCESS);
}
/** Action called on Delete button click
*/
public ActionForward delete(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws java.lang.Exception {
// TODO:implement delete method
return mapping.findForward(SUCCESS);
}
}
package com.webeduk.actionform;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
public class LoginActionForm extends org.apache.struts.action.ActionForm {
private String usuario;
private String senha;
private int idunidade;
private String blender;
/*
*/
public void setUsuario(String usuario)
{
this.usuario = usuario;
}
/*
*/
public String getUsuario()
{
return this.usuario;
}
/*
*/
public void setSenha(String senha)
{
this.senha = senha;
}
/*
*/
public String getSenha()
{
return this.senha;
}
/*
*/
public void setIdunidade(int idunidade)
{
this.idunidade = idunidade;
}
/*
*/
public int getIdunidade()
{
return this.idunidade;
}
/*
*/
public void setBlender(String blender)
{
this.blender = blender;
}
/*
*/
public String getBlender()
{
return this.blender;
}
/*
*/
public LoginActionForm()
{
super();
}
/*
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
{
ActionErrors errors = new ActionErrors();
/*
*/
// aqui tava o questionamento da unidade
/*
*/
if (getBlender().equals("logar"))
{
request.getSession().setAttribute("consultarUsuario","true");
}
/*
*/
if ((getUsuario().equals("")) || (getSenha().equals("")) || (getIdunidade()<1))
{
errors.add("img", new ActionMessage("errorsimgfailed"));
}
/*
*/
if (getUsuario().equals(""))
{
errors.add("usuario", new ActionMessage("errors.login.usuario"));
}
/*
*/
if (getSenha().equals(""))
{
errors.add("senha", new ActionMessage("errors.login.senha"));
}
/*
*/
if (getIdunidade()<1)
{
errors.add("idunidade", new ActionMessage("errors.login.unidade"));
}
/*
*/
return errors;
}
/*
*/
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest)
{
this.usuario = null;
this.senha = null;
this.idunidade = 0;
this.blender = null;
}
}