validar formulario
"all200855" <[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
A ver si alguien me puede ayudar. Estoy realizando mi primera aplicacion web en jsp con el patrón mvc. El problema surge cuando quiero validar un formulario. ¿Como puedo realizar la validacion de un formulario sin utilizar struts pero con el modelo mvc? ¿Como se realiza el request en la pagina jsp que recibe de la Accion correspondiente? y la accion correspondinte envia a la pagina jsp el modelo que se supone que ha sido validado y que ha tenido error pero ¿como se lo manda?
loginadmin.jp
<%@ page contentType="text/html;charset=ISO-8859-15"%>
<%@ page import="loterias.modelo.beans.Usuario"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15">
<title>LA SUERTE - Login</title>
</head>
<body bgcolor="olivedrab">
<jsp:include page="WEB-INF/cabecera.jsp" flush="true" />
<%
if (session.getAttribute("codUsuario")!=null)
{
%>
<jsp:forward page="inicio.jsp" />
<%
}
else
{
session.setAttribute("contexto","login2");
Usuario modelo = (Usuario) request.getAttribute("modelo");
if(modelo != null)
{
if(modelo.getCodUsuario() == null)
modelo.setCodUsuario("");
if(modelo.getClaveUsuario() == null)
modelo.setClaveUsuario("");
if(modelo.getErrCod() == null)
modelo.setErrCod("");
if(modelo.getErrClave() == null)
modelo.setErrClave("");
%>
<DIV align="center">
<P>
<STRONG>LA SUERTE - Página Mantenimiento</STRONG>
</P>
<P>Introducir login y clave</P>
</DIV>
<form action="<%=request.getContextPath()%>/controlador?accion=loginadmin" method="post">
<table border="0" width="700">
<tr>
<td>
Login del Admin: <input type="text" name="codUsuario" value="<%=modelo.getCodUsuario()%>">
</td>
<td><%=modelo.getErrCod()%><td>
</tr>
<tr>
<td>
Clave: <input type="password" name="claveUsuario" value="<%=modelo.getClaveUsuario()%>">
</td>
<td><%=modelo.getErrClave()%></td>
</tr>
<%
if (session.getAttribute("error") != null)
{
%>
Error: <%=((loterias.modelo.beans.Error) session.getAttribute("error")) %>
<%
session.invalidate();
}
%>
<tr>
<td><input type="submit" value="Validar" /></td>
</tr>
</table>
</form>
<%
}
else
{
%>
<DIV align="center">
<P>
<STRONG>LA SUERTE - Página Mantenimiento</STRONG>
</P>
<P>Introducir login y clave</P>
</DIV>
<form action="<%=request.getContextPath()%>/controlador?accion=loginadmin" method="post">
<table border="0" width="700">
<tr>
<td>
Login del Admin: <input type="text" name="codUsuario">
</td>
</tr>
<tr>
<td>
Clave: <input type="password" name="claveUsuario">
</td>
</tr>
<tr>
<td><input type="submit" value="Validar" /></td>
</tr>
</table>
</form>
<%
}
}
%>
</body>
</html>
Parte de AccionLoginadmin.java
public class AccionLogin implements Accion
{
private String vista;
private final String vistaOK = "inicio.jsp";
private final String vistaLogin = "loginadmin.jsp";
private final String vistaError = "gesError.jsp";
private Usuario modelo;
private ServletContext SC;
private HttpSession sesion;
private DataSource DS;
private loterias.modelo.beans.Error error;
public AccionLogin()
{
}
public void setDS (DataSource ds)
{
DS = ds;
}
public boolean ejecutar(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String login, clave;
sesion = request.getSession();
// Obtener de la petición login y clave
modelo = new Usuario();
//modelo = (Usuario) request.getAttribute("modelo");
modelo.setClaveUsuario(request.getParameter("claveUsuario"));
modelo.setCodUsuario(request.getParameter("codUsuario"));
System.out.println("Contexto: "+sesion.getAttribute("contexto"));
//System.out.println("Codigo: "+login);
//System.out.println("Clave: "+clave);
if(!modelo.ValidarAdmin())
{
if ((sesion.getAttribute("contexto")!= null)
&& sesion.getAttribute("contexto").equals("login2"))
{
try
{
// Accede a la tabla de administrador para comprobar que está registrado.
// Para ello recurre a BDFactoriaAdmin
BDFactoriaAdmin tablaAdmin = new BDFactoriaAdmin(DS);
clave = request.getParameter("claveUsuario");
login = request.getParameter("codUsuario");
// Si está registrado, devuelve "true", estableciendo como vista la página
// de inicio, como modelo un objeto Usuario,
if (tablaAdmin.encontrado(login,clave))
{
setVista(vistaOK);
//vista = vistaOK;
//setVista(vistaLogin);
modelo = tablaAdmin.getUsuario();
// modelo = tablaUsuarios.getUsuarios()
sesion.setAttribute("codUsuario",login);
sesion.removeAttribute("contexto");
return true;
}
else
{
// setVista(vistaLogin);
// Si hay un error, crea un objeto Error, y devuelve "false"
error = new Error(1,"Login y/o clave del administrador erróneos. No está autorizado para acceder a esta página");
vista = vistaError;
return false;
}
}
catch(SQLException sqle)
{
error = new Error(2,"Error en acceso a tabla regadmin.");
vista = vistaError;
return false;
}
}
else
{
if (sesion.getAttribute("codUsuario")==null)
setVista(vistaLogin);
else
setVista(vistaOK);
return true;
}
}
else
{
error = new Error(1,"Login y/o clave del administrador no validados");
vista = vistaLogin;
//setModelo(modelo);
//request.getAttribute(modelo);
//modelo = (Usuario) request.getAttribute("modelo");
//System.out.println(modelo);
System.out.println(error);
return false;
}
}