Disponibilizando objetos para o View com Spring MVC [RESOLVIDO]
12 respostas
B
BrenoBex
Olá a todos,
Bom, estou utilizando pela primeira vez o Spring MVC (antes usava o Struts) e por isso estou tendo alguma difuiculdade em alguns detalhes que diferem do Struts. Um deles é como disponibilizar o um objeto para o view (no caso uma JSP) e assim poder exibi-lo em formato de tabela ou combo box por exemplo.
na minha Action (Controller) eu tenho o método que pesquisa no banco uma lista de objetos e redireciona para uma jsp.
Reparem que eu já estou tentando usar o tal Model do spring mvc. que conforme alguns tutoriais que li deveria dar certo e eu conseguiria acessar a lista “moedas” na JSP através de Expression Language (no caso: ${moedas}). Só que o redirecionamento acontece normalmente, mas não consigo acessar o tal objeto. Não sei o que frazer… alguém tem alguma dica !!!
O seu moedas está vindo com valor ?
Mostra a sua tela por favor.
O spring tem um tag para criar select’s eu acho, mas dá com jstl e el também.
B
BrenoBex
Sim, o moedas ta vindo preenchido certinho. só que quando chega na JSP, eu coloco com ${moedas.nome} e ao invés de exibir o nome, ele continua exibindo ${moedas.nome}… ele simplesmente não reconhece.
Depois você procura a diferença do Model e do ModelMap. Vê se funciona agora.
V
von.juliano
Utilize String como retorno quando precisar fazer algum redirect. Como você quer retornar uma lista de moedas, pode mandar a lista diretamente como retorno do método, sem precisar dessas complicações com ModelMap.
Mas ele quer mandar uma lista, como ele mandaria a lista por String ?
Teria que se for diferente colocar com setAttribute
V
von.juliano
Eu não tinha notado como a String usada no retorno é complicada. Se não for possível simplificar os caminhos para as jsps a ponto de não precisar passá-lo com a String, recomendo fazer uso da classe ModelAndView.
L
lele_vader
Agora que eu vi que ele não estava usado o ModelAndView.
Muda o map.addAtribute para model.addAtribute
B
BrenoBex
Galera, agradeço a todos pelas dicas mas no final foi mais simples que eu pesava…
o grande problema é que o meu projeto estava ignorando toda e qualquer Expression Language.
tive que colocar no web.xml o seguinte:
depois disso, tudo voltou a funcionar. Dei uma pesquisa pra entender o porque disso, e pelo que entendi (posso estar errado) por causa do Spring MVC, as Expression Language são ignoradas por padrão e é necessário vc ativá-las novamente. Caso que não ocorrer se vc utilizar Struts por exemplo. Enfim, problema resolvido e fica a dica caso alguém passe por isso!!!