guilhermebhte 29 de ago. de 2017
Alguma ajuda neste tópico também ?
wolmirGarbin 30 de ago. de 2017
Provavelmente isso vai te ajudar, precisa trocar:
selected="selected"
por:
th:selected="(${pais.id} == *{paisEdicao.id})"
Onde o paisEdicao é o pais que deve estar selecionado.
Faz um teste ai.
guilhermebhte 30 de ago. de 2017
@wolmirGarbin , obrigado pelo retorno.
Fiz assim e não funcionou:
<option th:each="pais : ${paises}" th:value="${pais.id}" th:selected="(${pais.id} == *{paisEdicao})" th:text="${pais.descricao}"></option>
Aonde paisEdicao , é o país que vem do banco de dados e é preenchido assim, no controller:
@RequestMapping ( value = "/editar/{id}" , method = RequestMethod . GET )
public ModelAndView editar ( @PathVariable ( "id" ) Long id ) {
logger . info ( "Editando um bairro" );
BairroEntity bairroAtual = bairroServico . buscarPorId ( id );
ModelAndView modelAndView = new ModelAndView ( "bairro/novoEditar" );
modelAndView . addObject ( "bairro" , bairroAtual );
modelAndView = novoAlterar ( modelAndView );
modelAndView . addObject ( "paisEdicao" , bairroAtual . getPais (). getId ());
return modelAndView ;
}
Debugando o valor está preenchendo corretamente.
O que está errado ?
wolmirGarbin 30 de ago. de 2017
Opa, tenta mudar para:
th:selected="${pais.id == paisEdicao}"
ou assim:
th:selected="${pais.id eq paisEdicao}"
wolmirGarbin 30 de ago. de 2017
Fiz um teste rápido e criei um post que mostra uma forma de resolver:
Quaquer dúvida da um grito!
guilhermebhte 30 de ago. de 2017
Não funcionou.
th : selected = "${pais.id == paisEdicao}"
th:selected="${pais.id eq paisEdicao}"
no Html fiz isto: <label th.text="${paisEdicao}">, e não está imprimindo nada.
wolmirGarbin 30 de ago. de 2017
Provavelmente seu problema está no seu controller, o que faz o método?
guilhermebhte 30 de ago. de 2017
Inclui mais itens para a view. Lista para preencher o select no html.
private ModelAndView novoAlterar ( ModelAndView modelAndView ) {
List < PaisEntity > paises = paisServico .listar () ;
List < EstadoEntity > estados = estadoServico .listar () ;
List < MunicipioEntity > municipios = municipioServico .listar () ;
modelAndView .addObject ( "paises" , paises ) ;
modelAndView .addObject ( "estados" , estados ) ;
modelAndView .addObject ( "municipios" , municipios ) ;
return modelAndView ;
}
guilhermebhte 5 de set. de 2017
Solucao aceita
guilhermebhte 11 de set. de 2017
O retorno para o HTML era o objeto.
Criei um DTO que recebe o LONG do objeto escolhido, isto é, o ID. Ai funcionou.
Mayk_Lucas 26 de jul. de 2021 1 like
Boa tarde guilhermebhte poderia explicar melhor o que você construiu eu estou na mesma duvida poderia ajudar?
guilhermebhte 26 de jul. de 2021
Este projeto passamos ele para Angular. Assim, não trabalhamos mais com ModelAndView .