Primavera: casilla de verificación del formulario MVC

En este artículo, aprenderemos sobre las etiquetas Spring MVC Checkbox y Checkboxes. Crearemos un proyecto Spring MVC básico en el conjunto de herramientas Spring (STS) para crear casillas de verificación usando las etiquetas form:checkbox y form:checkboxes .

biblioteca de etiquetas ‘spring-form.tld’

En Spring Framework , podemos usar Java Server Pages (JSP) como un componente de vista. Para implementar vistas usando JSP, Spring Framework proporciona una biblioteca de etiquetas de formulario, a saber , spring-form.tld con algunas etiquetas para evaluar errores, configurar temas, formatear los campos para ingresar y generar mensajes internacionalizados.

Etiqueta ‘casilla de verificación’: La ‘casilla de verificación’ es una de las etiquetas proporcionadas por la biblioteca spring-form.tld. Representa una etiqueta de ‘entrada’ HTML con el tipo ‘casilla de verificación’.

HTML

<form:checkbox path=" " value=" " />

Etiqueta ‘casillas de verificación’: La ‘casilla de verificación’ es una de las etiquetas proporcionadas por la biblioteca spring-form.tld. Representa múltiples etiquetas HTML de ‘entrada’ con el tipo ‘casilla de verificación’.

HTML

<form:checkboxes path=" " items=" " />

Aplicación Spring MVC

Crearemos la siguiente aplicación Spring MVC,

Spring MVC – Ejemplo de casilla de verificación

Pasos para crear una aplicación

  1. Cree un proyecto Spring MVC en Spring Tool Suite.
  2. En STS, al crear el proyecto basado en la selección del desarrollador, descargará todas las dependencias maven requeridas, *.jar, archivos lib y proporcionará un servidor integrado.
  3. A continuación se muestra la estructura final del proyecto Spring MVC después de crear también los archivos *.java y *.jsp.

Estructura del proyecto

Implementación: Los archivos a crear son los siguientes:

  1. Home.java – Clase Bean – Para definir las propiedades y los métodos getter/setter de las propiedades.
  2. HomeController.java – Clase de controlador – Para procesar la solicitud del usuario y generar la salida.
  3. home.jsp : archivo Jsp para interactuar con el usuario para la entrada.
  4. summary.jsp : archivo Jsp para mostrar el resultado después de procesarlo para el usuario.

A. Archivo: home.jsp

HTML

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Home page</title>
</head>
<body>
  
    <h1>Welcome to GeeksforGeeks!</h1>
  
    <form:form action="submit" method="post" modelAttribute="home">
        <table>
            <tr>
                <td><form:label path="name">Enter your name: </form:label></td>
                <td><form:input path="name" /></td>
            </tr>
            <tr>
                <td><form:label path="duration">Select duration of course: </form:label></td>
                <td><form:checkbox path="duration" value="3 months" label="3 Months"/> 
                    <form:checkbox path="duration" value="6 months" label="6 Months" disabled="true"/></td>
            </tr>
            <tr>
                <td><form:label path="framework">Java Frameworks: </form:label></td>
                <td><form:checkboxes path="framework" items="${javaFramworks}" delimiter="|"/></td>
            </tr>
            <tr>
                <td><form:button>Submit</form:button></td>
            </tr>
        </table>
    </form:form>
  
</body>
</html>

Explicación de salida: 

Esta es la página de inicio que se muestra al usuario cuando se inicia la aplicación. Para usar etiquetas de formulario Spring, primero, debemos incluir el URI taglib: «http://www.springframework.org/tags/form» en la página Jsp. En la etiqueta de formulario: acción, los atributos del método se utilizan para asignar el método del controlador que debe ejecutarse cuando se envía la página. La etiqueta de la casilla de verificación tiene muchos atributos como ruta, cssStyle, dir, valor, etc. Podemos incluir cualquier cantidad de atributos según nuestros requisitos.

En este ejemplo, hemos incluido los siguientes atributos,

  1. ruta: para especificar la ruta a la propiedad que debe vincularse con los datos. Aquí, el enlace de datos a la propiedad de duración en la casilla de verificación y la propiedad del marco en las etiquetas de las casillas de verificación.
  2. valor: para especificar el valor de la casilla de verificación en particular.
  3. etiqueta: para mostrar el nombre del valor de la casilla de verificación.
  4. disabled: es un atributo booleano para desactivar la casilla de verificación cuando el valor es verdadero. Por defecto, el valor será falso.
  5. elementos: para mostrar los nombres de las casillas de verificación de la lista.
  6. delimitador: para especificar un delimitador para usar entre cada etiqueta de ‘entrada’ con el tipo ‘casilla de verificación’. Aquí estamos usando ‘|’ símbolo como delimitador.

B. Inicio.java

Java

// Java Program to Illustrate Home Class 
  
package com.geek.app;
  
// Class
public class Home {
  
    // Class data members
    public String name;
    public String duration;
    public String framework;
  
    // Getter
    public String getName() { return name; }
  
    // Setter
    public void setName(String name) { this.name = name; }
  
    // Getter
    public String getDuration() { return duration; }
  
    // Setter
    public void setDuration(String duration)
    {
        this.duration = duration;
    }
  
    // Getter
    public String getFramework() { return framework; }
  
    // Setter
    public void setFramework(String framework)
    {
        this.framework = framework;
    }
}
  • Esta es la clase de bean java para definir los parámetros requeridos.
  • Aquí, estamos definiendo el nombre, la duración y el marco como parámetros y sus métodos getter/setter para obtener/establecer los valores de las propiedades.

C. HomeController.java

Java

// Java Program to Illustrate HomeController Class
  
package com.geek.app;
  
// importing required classes
import java.util.Arrays;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
  
// Annotation
@Controller
  
// Class
public class HomeController {
  
    // Annotation
    @RequestMapping(value = "/")
  
    public String viewHome(Model model)
    {
  
        // Creating an instance of Home class
        // inside this method
        Home home = new Home();
        model.addAttribute("home", home);
  
        return "home";
    }
  
    // Annotation
    @ModelAttribute("javaFramworks")
  
    // Method
    public List<String> javaFramworksList()
    {
        List<String> framework = Arrays.asList(
            "Apache Struts", "Spring", "Hibernate",
            "Grails", "Java Server Faces");
  
        return framework;
    }
  
    // Annotation
    @RequestMapping(value = "/submit",
                    method = RequestMethod.POST)
  
    // Method
    public String
    submit(@ModelAttribute("home") Home home)
    {
  
        return "summary";
    }
}

Salida Explicación: Esta es la clase de controlador donde ejecuta los métodos basados ​​en el mapeo de las URL de solicitud. Aquí, @Controller transmite al contenedor que esta clase es la clase de controlador de resorte. Para usar esta anotación, necesitamos importar el paquete org.springframework.stereotype.Controller. 

La anotación, @RequestMapping, asigna las URL de solicitud al método especificado en función del valor proporcionado. Para usar esta anotación, necesitamos importar el paquete org.springframework.web.bind.annotation.RequestMapping. La anotación @ModelAttribute, que se usa para vincular un parámetro de método o un valor de retorno de método al atributo del modelo nombrado. Necesitamos importar el paquete org.springframework.web.bind.annotation.ModelAttribute. RequestMethod especifica el tipo de solicitud, ya sea una solicitud de obtención o una solicitud de publicación.

D. Archivo: resumen.jsp

HTML

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Summary page</title>
</head>
<body>
  
    <h3>Hello ${home.name}!!</h3>
  
    <span>Course Duration: </span>
    <span>${home.duration}</span>
    <br>
    <span>Frameworks Selected: </span>
    <span>${home.framework}</span>
  
</body>
</html>
  • Esta es la página Jsp de salida para mostrar los valores ingresados ​​por el usuario en el navegador después del procesamiento de la solicitud.

Ejecución

  • Después de crear todos los archivos .java y .jsp necesarios, ejecute el proyecto en el servidor.
  • Justo en el proyecto, Ejecutar como -> Ejecutar en el servidor.
  • Seleccione el servidor en el host local para ejecutar la aplicación.
  • Abra la URL: http://localhost:8080/app/ en el navegador para obtener la siguiente pantalla.

Página de inicio – home.jsp

Como especificamos,

  • disabled=true for 6 Months checkbox, se muestra deshabilitado en la pantalla.
  • delimitador = |, el delimitador especificado se muestra entre los nombres de las casillas de verificación.

Ahora, seleccione los valores de la casilla de verificación y haga clic en el botón Enviar.

Selección de la entrada

  • Una vez que se envíe la página, obtendremos el siguiente resultado con los detalles que hemos seleccionado.

Salida – resumen.jsp

Publicación traducida automáticamente

Artículo escrito por yaminitalisetty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *