Etiquetas de Spring

Etiquetas de Spring

userForm.jsp

<%@
page
language=“java”
contentType=“text/html; charset=ISO-8859-1”

    pageEncoding=“ISO-8859-1”%>

<%@
taglib
uri=http://www.springframework.org/tags/form&#8221;
prefix=“form”%>

<!DOCTYPE html
PUBLIC
“-//W3C//DTD HTML 4.01 Transitional//EN”
http://www.w3.org/TR/html4/loose.dtd&#8221;>

<html>

<head>

<meta
http-equiv=“Content-Type”
content=“text/html; charset=ISO-8859-1”>

<title>Pagina Registración</title>

</head>

<body>

<form:form
method=“POST”
commandName=“user”>

    <table>

        <tr>

            <td>Nombre Usuario :</td>

            <td><form:input
path=“nombre” /></td>

        </tr>

        <tr>

            <td>Password :</td>

            <td><form:password
path=“password”
/></td>

        </tr>

        <tr>

            <td>Genero :</td>

            <td><form:radiobutton
path=“genero” value=“M”
label=“M”
/>
<form:radiobutton

                path=“genero” value=“F”
label=“F”
/></td>

        </tr>

        <tr>

            <td>Pais :</td>

            <td><form:select path=“pais”>

                <form:option
value=“0”
label=“Seleccione”
/>

                <form:options
items=${listaPais}” itemValue=“countryId”
itemLabel=“countryName”
/>

            </form:select></td>

        </tr>

        <tr>

            <td>Sobre ti :</td>

            <td><form:textarea
path=“sobreTi” /></td>

        </tr>

        <tr>

            <td>Comunidad :</td>

            <td><form:checkboxes
path=“listaComunidad” items=${listaComunidad}” itemValue=“key”
itemLabel=“value”
/></td>

        </tr>

        <tr>

            <td></td>

            <td><form:checkbox
path=“listaCorreo”

                label=“¿Te gustaría formar parte de nuestra lista de correo?” /></td>

        </tr>

        <tr>

            <td
colspan=“2”><input
type=“submit”
value=“Register”></td>

        </tr>

    </table>

</form:form>

</body>

</html>

Aquí el listaPais listaComunidad y la del back-end.

El atributo elementos contiene la colección. El

itemValue=“key”
y los atributos itemLabel=“value”
es la clave
(key) y valor(value), respectivamente. ItemLabel es el que se muestra al usuario y itemValue es la que se pasará cuando ese artículo particular se selecciona.


Aquí tenemos tres objetos de dominio el usuario, país y comunidad. El objeto usuario es el que se muestra de esta forma.

package com.amalakaky.dominio;

import java.util.List;

@SuppressWarnings(“unchecked”)

public
class User {

    private String nombre;

    private String password;

    private String genero;

    private String pais;

    private List listaPais;

    private String sobreTi;

    private String[] comunidad;

    private List listaComunidad;

    private Boolean listaCorreo;

    

    public String getNombre() {

        return
nombre;

    }

    public String getPassword() {

        return
password;

    }

    public String getGenero() {

        return
genero;

    }

    public String getPais() {

        return
pais;

    }

    public List getListaPais() {

        return
listaPais;

    }

    public String getSobreTi() {

        return
sobreTi;

    }

    public String[] getComunidad() {

        return
comunidad;

    }

    public List getListaComunidad() {

        return
listaComunidad;

    }

    public Boolean getListaCorreo() {

        return
listaCorreo;

    }

    public
void setNombre(String nombre) {

        this.nombre = nombre;

    }

    public
void setPassword(String password) {

        this.password = password;

    }

    public
void setGenero(String genero) {

        this.genero = genero;

    }

    public
void setPais(String pais) {

        this.pais = pais;

    }

    public
void setListaPais(List listaPais) {

        this.listaPais = listaPais;

    }

    public
void setSobreTi(String sobreTi) {

        this.sobreTi = sobreTi;

    }

    public
void setComunidad(String[] comunidad) {

        this.comunidad = comunidad;

    }

    public
void setListaComunidad(List listaComunidad) {

        this.listaComunidad = listaComunidad;

    }

    public
void setListaCorreo(Boolean listaCorreo) {

        this.listaCorreo = listaCorreo;

    }

    

}

El objeto de usuario tiene una listaPais y listaComunidad para mantener la lista de países y comunidades, respectivamente.

El listaPais contiene una lista de objetos País.

package com.amalakaky.dominio;

public
class Pais {

    private
int
countryId;

    private String countryName;

    

    public Pais(int countryId, String countryName)

    {

        this.countryId=countryId;

        this.countryName=countryName;

    }

    

    public
int getCountryId() {

        return
countryId;

    }

    public
void setCountryId(int countryId) {

        this.countryId = countryId;

    }

    public String getCountryName() {

        return
countryName;

    }

    public
void setCountryName(String countryName) {

        this.countryName = countryName;

    }

    

}

El
CountryId se utiliza para referirse al país en el back-end y el CountryName para mostra el nombre del país en el front-end.

Asimismo, el listaComunidad contiene una lista de objetos de la comunidad.

package com.amalakaky.dominio;

public
class Comunidad {

    private String key;

    private String value;

    

    public Comunidad(String key, String value)

    {

        this.key = key;

        this.value = value;

    }

    

    public String getKey() {

        return
key;

    }

    public
void setKey(String key) {

        this.key = key;

    }

    public String getValue() {

        return
value;

    }

    public
void setValue(String value) {

        this.value = value;

    }

    

}

Aquí, el valor es el que se muestra en el extremo frontal y la clave es el que se utiliza en el fondo.
En la clase del controlador es necesario para anular el método referenceData (). En este método se pueden establecer todos los valores predeterminados que se cargan cuando se muestra el formulario para el usuario. Este método se llama de forma automática.

ackage com.amalakaky.web;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.SimpleFormController;

import com.amalakaky.dominio.User;

import com.amalakaky.servicio.UserService;

@SuppressWarnings(“deprecation”)

public
class UserController extends
SimpleFormController {

    private UserService userService;

    public UserController()    {

        setCommandClass(User.class);

        setCommandName(“user”);

    }

    

    public
void setUserService(UserService userService) {

        this.userService = userService;

    }

    

    @SuppressWarnings(“unchecked”)

    @Override

    protected Map referenceData(HttpServletRequest request) throws Exception {

        Map referenceData = new HashMap();

        referenceData.put(“listaPais”, userService.getAllCountries());

        referenceData.put(“listaComunidad”, userService.getAllCommunities());

        return referenceData;

    }

    @Override

    protected ModelAndView onSubmit(Object command) throws Exception {

        User user = (User) command;

        userService.add(user);

        return
new ModelAndView(“userSuccess”,“user”,user);

    }}

En el método referenceData () en primer lugar crear un HashMap y añadir el listaPais y el listaComunidad . Este método será llamado antes de que la forma se vuelve por lo que la lista se llena antes de eso.

Cuando se ejecuta el ejemplo, verá la forma de registro de usuario. En la presentación del formulario de la página se mostrará userSuccess.jsp. En la página userSuccess.jsp usamos etiquetas JSTL para mostrar los detalles.

<%@
page
language=“java”
contentType=“text/html; charset=ISO-8859-1”


pageEncoding=“ISO-8859-1”%>


<%@
taglib
uri=http://java.sun.com/jsp/jstl/core&#8221;
prefix=“c”
%>

<!DOCTYPE html
PUBLIC
“-//W3C//DTD HTML 4.01 Transitional//EN”
http://www.w3.org/TR/html4/loose.dtd&#8221;>

<html>

<head>

<meta
http-equiv=“Content-Type”
content=“text/html; charset=ISO-8859-1”>

<title>Pagina Correcta</title>

</head>

<body>

Detalles Usuario

<hr>

Nombre Usuario : <c:out
value=${user.nombre}></c:out>
<br/>

Genero          : <c:out
value=${user.genero}></c:out>
<br/>

Pais          : <c:out
value=${user.pais}></c:out>
<br/>

Sobre ti : <c:out
value=${user.sobreTi}></c:out>
<br/>

Comunidad     :

<c:forEach
var=“comunidad”
items=${user.listaComunidad}>

    <c:out
value=${comunidad}></c:out>

</c:forEach>
<br />

Lista Correo: <c:out
value=${user.listaCorreo}></c:out>

</body>

</html>

Anuncios
Minientrada | Esta entrada fue publicada en Spring. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s