Referencia de Anotaciones con Spring

Referencia de Anotaciones

UserController.java

package com.amalakaky.web;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.SessionAttributes;

import com.amalakaky.dominio.Comunidad;

import com.amalakaky.dominio.Pais;

import com.amalakaky.dominio.User;

import com.amalakaky.servicio.UserService;

@Controller

@RequestMapping(“/userRegistration.htm”)

@SessionAttributes(“user”)

public
class UserController {

    private UserService userService;

    @Autowired

    public
void setUserService(UserService userService) {

        this.userService = userService;

    }

    

    @ModelAttribute(“countryList”)

    public List<Pais> populateCountryList() {

        return
userService.getAllPaises();

    }

    

    @ModelAttribute(“communityList”)

    public List<Comunidad> populateCommunityList() {

        return
userService.getAllComunidad();

    }

    

    @RequestMapping(method = RequestMethod.GET)

    public String showUserForm(ModelMap model) {

        User user = new User();

        model.addAttribute(“user”, user);

        return
“userForm”;

    }

    @RequestMapping(method = RequestMethod.POST)

    public String onSubmit(@ModelAttribute(“user”) User user) {

        userService.add(user);

        return
“redirect:userSuccess.htm”;

    }

    

}

Los métodos populateCountryList () y populateCommunityList() se utiliza para rellenar la lista de países y de la comunidad, respectivamente.

La Anotación @ ModelAttribute cuando se utiliza a nivel de método se utiliza para indicar que el método de contener datos de referencia utilizados por el modelo, por lo que debe ser llamada antes de cargar el formulario. Esto es similar a reemplazar el método referenceData () cuando la ampliación del SimpleFormController.

También puede hacer esto en el método showUserForm () como este.

@RequestMapping(method = RequestMethod.GET)

    public String showUserForm(ModelMap model) {

        User user = new User();

        model.addAttribute(“user”, user);

        return
“userForm”;

    }

Debido a que utilizamos ModelMap aquí por defecto los nombres de la lista será listaPais y

listaComunidad.

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