Ver Mensaje Individual
  #6 (permalink)  
Antiguo 06/05/2009, 10:51
jesuscoro
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Formularios en Struts con datos previos

El UsuarioForm es un ValidatorForm con el siguiente codigo

Código:
public class UsuarioForm extends EjemplosJavaValidatorForm{

    //<editor-fold defaultstate="collapsed" desc="Atributos">
    private Integer idUsuario;
    private String nombreUsuario;
    private String password;
    private String passwordConfirm;
    private String email;
    private String poblacion;
    private String rutaFotoUsuario;
    private String nacionalidadUsuario;
    private Integer idRol;

    private FormFile imagenUsuario;
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="Constructores">
    public UsuarioForm(){}
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="Setters y Getters">

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getNombreUsuario() {
        return nombreUsuario;
    }

    public void setNombreUsuario(String nombreUsuario) {
        this.nombreUsuario = nombreUsuario;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPasswordConfirm() {
        return passwordConfirm;
    }

    public void setPasswordConfirm(String passwordConfirm) {
        this.passwordConfirm = passwordConfirm;
    }

    public String getPoblacion() {
        return poblacion;
    }

    public void setPoblacion(String poblacion) {
        this.poblacion = poblacion;
    }

    public String getRutaFotoUsuario() {
        return rutaFotoUsuario;
    }

    public void setRutaFotoUsuario(String rutaFotoUsuario) {
        this.rutaFotoUsuario = rutaFotoUsuario;
    }

    public String getNacionalidadUsuario() {
        return nacionalidadUsuario;
    }

    public void setNacionalidadUsuario(String nacionalidadUsuario) {
        this.nacionalidadUsuario = nacionalidadUsuario;
    }

    public Integer getIdRol() {
        return idRol;
    }

    public void setIdRol(Integer idRol) {
        this.idRol = idRol;
    }

    public FormFile getImagenUsuario() {
        return imagenUsuario;
    }

    public void setImagenUsuario(FormFile imagenUsuario) {
        this.imagenUsuario = imagenUsuario;
    }



    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="Metodos">
    public void populate(EjemplosJavaVO ejemplosJavaVO){
        UsuarioVO usuarioVO = (UsuarioVO) ejemplosJavaVO;

        usuarioVO.setIdUsuario(idUsuario);
        usuarioVO.setEmail(email);
        usuarioVO.setNacionalidadUsuario(nacionalidadUsuario);
        usuarioVO.setNombreUsuario(nombreUsuario);
        usuarioVO.setPassword(password);
        usuarioVO.setPoblacion(poblacion);
        usuarioVO.setIdRol(idRol);
    }
    public void set(EjemplosJavaVO ejemplosJavaVO){
        UsuarioVO usuarioVO = (UsuarioVO) ejemplosJavaVO;

        this.email = usuarioVO.getEmail();
        this.nacionalidadUsuario = usuarioVO.getNacionalidadUsuario();
        this.idRol = usuarioVO.getIdRol();
        this.idUsuario = usuarioVO.getIdUsuario();
        this.nombreUsuario = usuarioVO.getNombreUsuario();
        this.password = usuarioVO.getPassword();
        this.poblacion = usuarioVO.getPoblacion();
        this.rutaFotoUsuario = usuarioVO.getRutaFotoUsuario();
    }
    
    //</editor-fold>
}
Por ultimo, el codigo de las jsp

usuarios.crear
Código:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"	prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<div id="formulario" style="width:27em">
<html:errors />
<html:form action="/insertUsuarioAction?method=insert" method="post" enctype="multipart/form-data">
    <label for="nombre">
        <span class="lbl"><bean:message key="usuarios.nombreUsuario" /></span><html:text property="nombreUsuario"  styleClass="txt" styleId="nombre"></html:text>
    </label><br/>
    <label for="password">
        <span class="lbl"><bean:message key="usuarios.password" /></span>
        <html:password property="password" styleClass="txt" styleId="password" value=""></html:password>
    </label>
    <label for="passwordConfirm">
        <span class="lbl"><bean:message key="usuarios.passwordConfirm" /></span>
        <html:password property="passwordConfirm" styleClass="txt" styleId="passwordConfirm" value=""></html:password>
    </label>
    <label for="rol">
        <span class="lbl" style="margin-top:0em"><bean:message key="usuarios.rol" /></span>
        <html:select property="idRol"  styleId="rol" styleClass="select">
            <option>-</option>
            <html:optionsCollection name="listaRoles" label="rol" value="idRol" />
        </html:select>
    </label>
    <label for="email">
        <span class="lbl"><bean:message key="usuarios.email" /></span>
        <html:text property="email"  styleClass="txt" styleId="email"></html:text>
    </label>
    <label for="nacionalidad">
        <span class="lbl"><bean:message key="usuarios.nacionalidad" /></span><html:text property="nacionalidadUsuario"  styleClass="txt" styleId="nacionalidad"></html:text>
    </label>

    <label for="poblacion">
        <span class="lbl"><bean:message key="usuarios.poblacion" /></span><html:text property="poblacion"  styleClass="txt" styleId="poblacion"></html:text>
    </label>

    <label for="imagenUsuario">
        <span class="lbl"><bean:message key="usuarios.imagen" /></span><span style="margin-bottom:0.85em"><html:file property="imagenUsuario" styleId="imagenUsuario"></html:file></span>
    </label>

    <html:submit value="Insertar" />

</html:form>

</div>
usuarios.detalle
Código:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<div style="margin-top:10px;">
        <table width="100%">
            <tr>
               <td rowspan="6" width="20%" >
                   <img class="imgCentrada" alt="Imagen del usuario" src="<c:out value="${requestScope.detalleUsuario.rutaFotoUsuario}" />" style="width:100%;height:100%;"/>
               </td>
            </tr>
            <tr>
               <td>
                   <b>Identificador:</b> <c:out value="${requestScope.detalleUsuario.idUsuario}" />
               </td>
               <td>
                   <b>Rol:</b> <c:out value="${requestScope.detalleUsuario.rol.rol}" />
               </td>
            </tr>
            <tr>
               <td>
                   Nombre
               </td>
               <td>
                   <c:out value="${requestScope.detalleUsuario.nombreUsuario}" />
               </td>
            </tr>
            <tr>
               <td>
                   Email
               </td>
               <td>
                   <c:out value="${requestScope.detalleUsuario.email}" />
               </td>
            </tr>
            <tr>
               <td>
                   Poblacion
               </td>
               <td>
                   <c:out value="${requestScope.detalleUsuario.poblacion}" />
               </td>
            </tr>
            <tr>
               <td>
                   Nacionalidad
               </td>
               <td>
                   <c:out value="${requestScope.detalleUsuario.nacionalidadUsuario}" />
               </td>
            </tr>
            
        </table>
</div>
Si alguien quiere, lo subo a un servidor y dejo la direccion para que lo veais funcionando

Gracias por adelantado