Mutiplos @ModelAttribute na mesmo form Spring

0 respostas
manolo

Olá pessoal, tudo bem?

Bem, comecei um novo projeto utilizando o Spring MVC e logo pintou uma duvida básica na qual eu não estou conseguindo achar na internet, talvez pelo motivo que eu esteja implementando errado ou fazendo a pergunta errada.

Tenho um formulário no qual os dados que serão persistidos são em duas tabelas distintas.

Qual a melhor forma de se fazer isso?

Na minha view tenho a anotação "bind" do Spring, pois em buscas pela internet me deparei com essa forma de se realizar a ligação entre o controller e a view.

<form class="form-signin" method="post" action="addAgency">
				<div class="input-group">
					<span class="input-group-addon entypo-user"></span> 
						<spring:bind path="tenant.firstName"/>
						<input class="form-control" placeholder="Nome"/>
				</div>

                                //Restante dos campos do meu formulario 

                         </form>

Já no meu controller tenho o metodo abaixo que tem como objetivo jogar os atributos na view

// Entra no DashBoard do Tenant(Agência)
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home(@ModelAttribute("tenant") Agency tenant, @ModelAttribute("login") Login login, ModelMap map) {
	
		Agency agency = dashboardFacade.getAgency();
		map.addAttribute("agency", agency);
		//Acionar o Logger.info de acesso o site.
		
		if (tenantResolver.isMasterTenant()) {
			// adiciona informacao sobre a agência e o Login.
			map.addAttribute("tenant", tenant);
			map.addAttribute("login", login);
			return "landing/index";

		} else {

			return "dashboard/home";
		}
	}

E finalmente o submit que dispara o metodo abaixo para salvar uma agencia e o login.

// Adiciona uma nova agência
	@RequestMapping(value = "/addAgency", method = RequestMethod.POST)
	public String addAgency(@ModelAttribute("tenant") Agency agency, @ModelAttribute("login") Login login, Model model, final RedirectAttributes redirectAttributes) {
		agency = dashboardFacade.addAgency(agency);
		login = dashboardFacade.addLogin(login);
		return "redirect:" + getAgencyFullUrl(agency);
	}

O problema é que os dados para persistência estão vindo "NULL".

Tenho o relacionamento um para muitos entre a tabela agency e login.

Alguém pode me da uma força estou bem confuso em realizar tal gravação e mapeamento entre tais relacionamentos.

Obrigado

Criado 4 de junho de 2014
Respostas 0
Participantes 1