Empecé a trabajar en thymeleaf, así que después de enviar el formulario termino obteniendo esta URL:

URL

http: // localhost: 8080 / submit? name = xyz & age = 20 & dropdown = male

Entonces, ¿cómo debo obtener el valor de los elementos individuales para el controlador de Java?

En la parte de Java, debería poder cargarlos en sus respectivos tipos de datos.

1
Abhishek Ekaanth 13 abr. 2017 a las 08:31

2 respuestas

La mejor respuesta

Entonces, sí, más tarde pude resolverlo

Paso 1 Crear una página HTML GetDetails.HTML

<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Details</title>
</head>
<body>
<form action="#" th:action="@{PATH OF ACTION}" method="get" th:object="${details}">
       <input type="text" name="name" th:field="*{name}"/> 
       <input type="text" name="age" th:field="*{age}"/> 
       <select name="option" th:field="*{option}">
       <option value="male">male</option> 
       <option value="female">female</option>
        </select>
<input type="submit" value="search"/>
</form>
</body>
</html>

Paso2 Crear una clase de Modelo en Java (POJO)

class Details{
private String name;
private int age;
//getters and setters
//constructors
}

NOTA: El nombre de la clase debe ser el mismo que el nombre del objeto dado en la página HTML

Paso 3 Parte del controlador en Java

    @RequestMapping("/")
    public String search(Model model){
        model.addAttribute("details", new Details());
        return "GetDetails";
    }

Paso 4 controlador REST

    @GetMapping(value = "PATH OF ACTION")
    public List<Details> getAll(@ModelAttribute Details details) {
    // Business service 
    }
0
Abhishek Ekaanth 18 abr. 2017 a las 04:54

Para obtener parámetros GET (parámetros de URL), use request.getParameter

String name = request.getParameter("name");    
String age = request.getParameter("age");
String dropdown = request.getParameter("dropdown");

Tenga en cuenta que estas son todas cadenas, si desea otros tipos de datos, deberá analizarlos y manejar cualquier error.

0
user886 13 abr. 2017 a las 05:41