Bien, veamos un ejemplo ahora de listas select o desplegable para seleccionar, por ejemplo, un elemento
de una lista, por poner un ejemplo, algún contexto.
Acá tenemos el usuario y podría tener un atributo, por ejemplo, país.
Cada usuario tiene un país asignado.
Entonces en el formulario podríamos tener una lista select o desplegable o combobox para poder seleccionar
el país del usuario.
Bueno, lo primero es crear un atributo del tipo String.
Primero, para el ejemplo vamos a partir de lo más simple que sea del tipo String y después lo vamos
a emigrar y lo vamos a implementar para que sea el tipo de una clase.
Por ejemplo, una clase país donde tenga atributos como el Heidy, el nombre, en fin, entonces private
del tipo String país como siempre gué trans.
Bajamos y clic derecho por acá.
Source general, qué tran setter.
Marcamos todos generar.
Y está molesto, podríamos palier para que sea distinto de vacío con Not Empty, de que es un string.
Si fuera un objeto sería Not null.
Por ejemplo, del tipo de la clase país, pero como es un string not empty, guárdanos.
Lo segundo, tenemos que poblar con datos datos de ejemplo esta lista select.
Bueno, en un ejemplo con base auto vamos a ir a buscar los países esta lista mediante una consulta
obtenemos un list, una lista de países y poblamos este select, pero para el ejemplo lo vamos a poblar
con datos de un array list.
Esta lista la podemos implementar acá mismo.
Por ejemplo acá en form y pasar en el objeto model con atributos pasarlo los países.
Eso sería una forma bueno y cuando se valida también en caso de que falla, también tendríamos que pasar
los países para poblar el SELECT.
Pero otra forma también creo que la vimos anteriormente es crear un método en el controlador y esto
lo podemos reutilizar en todos los métodos antes del controlador.
Y este método lo notamos con model atributo y le damos un nombre de forma automática.
Cuando un método está anotado con model atributo, lo que retorna este método se pasa y se guarda en
la vista como atributo y lo podemos utilizar, por ejemplo, en el formulario.
Entonces justamente vamos a crear un método anotado con model atributo.
Le damos un nombre bueno, importamos, le damos un nombre paìses, este nombre con el cual se pasa
la lista, lo que retorna public retorna una lista de string con los nombres países y un nombre cualquiera.
Por ejemplo países.
Bien, voy a importar list.
Bueno, de muchas forma podemos crear un ArrayList del tipo String y con el método Add agregar paìses,
otra forma mucho más simple y más directa.
Usar la clase A arrays, una clase Halpert que tienen método hash.
Listo.
Bien, voy a bajar acá.
Bien y separÃ por Koma.
Acá pasamos los elementos, los elementos son del tipo String.
Entonces, separado por coma, este método va a retornar una lista del tipo list con estos elementos.
Se fijan entonces?
Bueno, primero nombre de países de España.
México, Chile.
Hilitos se fijan mucho más simple ahora.
Bueno, esto es un atajo.
Lo mismo que crear una red list y con el método ADD agregar estos nombre poises del tipo string s por
debajo.
Esto retorna una lista del tipo String.
Se fijan con los países.
Guardamos y qué faltaría.
Nos vamos a la vista formulario, vamos a crear este div.
Este campo acá al principio lo pegamos páis.
País bueno, en vez de input.
Esto acá lo cambiamos a Selecta, una lista select desplegable, el Heidy País le dice mantener el fiel
también.
Importante porque está mapeado este select al atributo país, al atributo país de la clase usuario.
Acá se mapea.
Pero bien, tenemos que cerrar el elemento.
Siempre se abre y se cierra perfecto.
Pero una lista select para seleccionar tiene que tener elementos, opciones.
Entonces Braca, tenemos option.
Y podemos tener una opción por cada país.
Pero los países los tenemos acá en esta lista países modelo Attribute.
Recuerden que con ese nombre se pasa a la vista.
Ahora también podríamos omitir esto.
Este nombre y por defecto se guarda o se pasa la vista con el nombre método, pero siempre mejor de
forma explícita.
Volvemos acá.
Ya sabemos que la lista de países con el cual se pasa la dicta se llama países.
Entonces creamos un option por cada país.
Para eso tenemos que iterar con un hit de Tanvi.
Entonces país dos punto.
Este sería el objeto país que se crea en esta iteración.
En este for por cada país de la lista.
Entonces acá si no peso las llaves, la lista países que está definida en el model atributo acá.
Recuerden lo que se retorna en este caso este ArrayList o lista un list de string que se guarda con
el nombre países a la vista.
Y acá lo utilizamos bien.
Entonces, por cada país vamos a mostrar como elemento de SELECT, como una opción a seleccionar TH
Text.
Entonces sería el nombre visual país.
Este país corresponde a cada país de la iteración, pero también se puede asociar a un valor, a un
palio.
Este es el nombre visual que se muestra en la lista y el valor que se envía al controlador, al método
procesar que está mapeado a país.
El valor es TH valeo, pero también país.
Es decir, el mismo nombre del país de que es un array list del tipo string, es decir, solamente contiene
el nombre del país.
Por lo tanto, tanto lo que se muestra el texto o la opción como el valor que se envía es el nombre
del país.
Aunque también, por ejemplo, en el texto podría ser en nombre del país y en el Baley podría ser un
identificador.
El código, el país, el Heidy.
En fin, eso después lo podemos ver con un ejemplo, utilizando una lista del tipo país que tenga el
atributo Heidy o código del país y el nombre, o bien con un mapa de ñada con un map.
Ahí pasamos el nombre y el valor, donde el nombre sería el código y el valor sería nombre país.
Pero bien, eso lo podríamos dejar para después por ahora.
De esta forma, algo simple me falta validar.
Acá también sería país.
En vez de identificar llega también.
Está molesto, pero siempre es bueno tener una opción por defecto que diga, por ejemplo, seleccionar,
seleccionar país o lo que sea, y con un valor, con un palio vacío de acá seleccionar.
Entonces, seleccionar un país y por defecto ASIO, si no se selecciona y se envía el valor es vacío.
Por lo tanto, va a variar y va a indicar que el campo es requerido.
Guardamos y vamos a revisar.
Levantamos.
Perfecto país se fijan seleccionar acá tanto los países si envío, enviar el campo requerido porque
todavía no has seleccionado ninguno.
Si colocamos, por ejemplo España enviar perfecto.
Ahora qué faltaría mostrar en nombre del país, en la plantilla, en la vista de resultado volvemos.
Resultado.
Voy a copiar.
Peus.
Guardamos bien España?
Solamente 12 son dos dígitos.
El Yussef naive.
Alguna clave el correo, por ejemplo, 7 o alguna fecha?
Enviar?
Perfecto.
España se fijan.
Se envía sin ningún problema.
Ésta sería la forma más simple de implementar una lista select desplegable.
Bueno, con datos del tipo string de puesto lo podríamos cambiar emigrar para que el tipo dato en vez
de que sea un string sea por ejemplo un map, un mapa de Java que contenga un identificador Leydi y
el nombre a mostrar en la lista SELECT.
Mejor aún, que también lo vamos a ver, que sea del tipo de una clase, por ejemplo, una clase país.
Vamos a crear una clase modelo, así como usuario pero país.
Y vamos a relacionar la clase usuario con la clase país.
Y la clase país va a tener por ejemplo el Heidy que corresponde al valor que se envía y el nombre que
corresponde a lo que se muestra en la lista SELECT.
Continuamos en la siguiente clase.