Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dois form pelo mesmo submit

Boa tarde,

tenho um dois formularios com o mesmo botão submit, só que quando envio ele so envia o primeiro, só persiste uma tabela, é possivel facer dois envios pelo mesmo submit?

form:

<form:form action="${s:mvcUrl('AU#add').build()}" method="post"> 

                    <div class="form-cadastro">
                        <div class="email-nome">
                            <span class="icon-user2"></span>
                            <label><input class="nome-orcamento" type="text" name="nome" placeholder="Nome" autofocus required></label>
                        </div>

                        <div class="email-email">    
                            <span class="icon-key2"></span>
                            <label><input class="email-orcamento" type="password" name="senha" placeholder="Senha" required></label>
                        </div>

                        <div class="email-email">    
                            <span class="icon-email"></span>
                            <label><input class="email-orcamento" type="email" name="email" placeholder="Email" required></label>
                        </div>

                        <div class="email-email">    
                            <span class="icon-email"></span>
                            <label><input class="email-orcamento" type="email" name="emailAlternativo" placeholder="Email-Alternativo" required></label>
                        </div>

                        <div class="email-telefone">
                            <span class="icon-phone2"></span>
                            <label><input class="telefone-orcamento" type="text" name="telefone" placeholder="Telefone" required></label>

                        </div>
                        <form:form action="${s:mvcUrl('AE#inserir').build()}" method="post"> 
                        <div class="email-telefone">
                            <span class="icon-milestone"></span>
                            <label><input class="telefone-orcamento" type="text" name="cep" placeholder="Estado" required></label>
                        </div>

                        <div class="email-telefone">
                            <span class="icon-building"></span>
                            <label><input class="telefone-orcamento" type="text" name="cep" placeholder="Cidade" required></label>
                        </div>

                        <div class="email-telefone">
                            <span class="icon-location2"></span>
                            <label><input class="telefone-orcamento" type="text" name="cep" placeholder="Cep" required></label>
                        </div>


                        <div class="email-telefone">
                            <span class="icon-street-view"></span>
                            <label><input class="telefone-orcamento" type="text" name="cep" placeholder="Logradouro" required></label>
                        </div>


                        <div class="email-telefone">
                            <span class="icon-bell"></span>
                            <label><input class="telefone-orcamento" type="number" name="cep" placeholder="Número" required></label>
                        </div>


                        <div class="enviar-orcamento">
                            <span class="icon-email2"></span>
                            <input type="hidden" name="${_csrf.parameterName }" value="${_csrf.token }" />
                            <button class="botao-orcamento" type="submit">Enviar</button>
                        </div>
                        </form:form>
                    </form:form>

meus controller:

package br.com.rprvidros.controllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import br.com.rprvidros.daos.EnderecoDao;
import br.com.rprvidros.daos.UsuarioDao;
import br.com.rprvidros.models.Endereco;
import br.com.rprvidros.models.Usuario;

@Controller
@RequestMapping("/add")
@Transactional
public class AddUsuario {


    @Autowired
    private EnderecoDao eDao;

    @Autowired
    private UsuarioDao dao;

    @RequestMapping(method = RequestMethod.POST)
    public ModelAndView add(Usuario usuario){

        System.out.println(usuario);
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        String encode = passwordEncoder.encode(usuario.getSenha());
        usuario.setSenha(encode);

        Usuario usuarioCadastrado = dao.addUsuario(usuario);


        return new ModelAndView("/rprvidros");

    }

}

outro:

package br.com.rprvidros.controllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import br.com.rprvidros.daos.EnderecoDao;
import br.com.rprvidros.daos.UsuarioDao;
import br.com.rprvidros.models.Endereco;
import br.com.rprvidros.models.Usuario;

@Controller
@Transactional
@RequestMapping("/inserir")
public class AddEndereco {

    @Autowired
    private UsuarioDao dao;

    @Autowired
    private EnderecoDao eDao;

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView inserir(Endereco endereco){
        ModelAndView modelAndView = new ModelAndView("rprvidros");
        Usuario usuarioId = dao.idLastUser();

        eDao.addEndereco(endereco);
        return modelAndView;
    }
}

nao tem erro algum ele apenas envia o primeiro form, como poderia fazer isso?

obrigado

2 respostas
solução!

Opa, não rola. Só pode ter um form mesmo.

Se eu for construir duas classes vai ter que ser no mesmo método então.

valeu.