Bom dia pessoal!
Eu estou com um "probleminha" no sistema ao tentar alterar um registro de Produto, os campos select´s não estão persistindo a informação do registro... Na vdd eles até não carregam mais as informações quando eu chamo o método atualiza...
Na classe modelo "Produto", eu tenho o atributo "montadora":
@Column(length = 30)
private String montadora;
No ProdutoDao, eu tenho a implementação do método "listaMontadora":
public List<Montadora> listaMontadora(String marca) {
TypedQuery<Montadora> query = manager.createQuery("Select m from Montadora m where m.marca = :marca",
Montadora.class);
query.setParameter("marca", marca);
return query.getResultList();
}
No ProdutoController, eu chamo esse médodo do ProdutoDao:
public void listaMontadora(String marca) {
List<Montadora> montadoras = produtoDao.listaMontadora(marca);
result.include("montadoras", montadoras);
}
Ainda no ProdutoController, quando eu chamo o form.jsp, eu carrego a listatem:
public void formVaz() {
listaMontadora("NomeDaEmpresa");
}
No form.jsp eu tenho o input desse atributo:
<label>Montadora:</label>
<select name="produto.montadora" class="form-control">
<c:forEach items="${montadoras}" var="montadora">
<option value="${montadora.nome}" ${produto.montadora eq montadora.nome ? "SELECTED" : ""}>${montadora.nome}</option>
</c:forEach>
</select>
Até ai TUDO FUNCIONANDO PERFEITAMENTE !!!
No ProdutoController eu tenho o médodo "atualiza":
public void atualiza(Integer id, Result result) {
Produto produto = produtoDao.buscaPorId(id);
result.include(produto);
result.of(this).form();
}
E na lista.jsp eu chamo esse método "atualiza":
<td style="text-align: center">
<a href="${linkTo[ProdutoController].atualizaVaz}?id=${produto.id}" class="addSelecionaLista" title="Selecionar">
<i class="glyphicon glyphicon-log-in"></i></a>
</td>
No console gera:
11:36:35,439 WARN [JstlLocalization ] couldn't find message bundle, creating an empty one
java.util.MissingResourceException: Can't find bundle for base name messages, locale pt_BR
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at br.com.caelum.vraptor.core.JstlLocalization.extractUnsafeBundle(JstlLocalization.java:78)
at br.com.caelum.vraptor.core.JstlLocalization.getBundle(JstlLocalization.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:86)
at org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:96)
at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:151)
at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:183)
at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:789)
at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:138)
at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:68)
at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:85)
at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:183)
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149)
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
at br.com.caelum.vraptor.validator.DefaultValidator$Proxy$_$$_WeldClientProxy.addAll(Unknown Source)
at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
11:36:35,455 INFO [ValidationXmlParser ] HV000007: META-INF/validation.xml found. Parsing XML based configuration.
Hibernate:
select
produto0_.id as id1_2_,
produto0_.adesivo as adesivo2_2_,
produto0_.ate_ano as ate_ano3_2_,
produto0_.capa as capa4_2_,
produto0_.catalogo as catalogo5_2_,
produto0_.cilindrada as cilindra6_2_,
produto0_.codigo as codigo7_2_,
produto0_.codigo_coroa as codigo_c8_2_,
produto0_.codigo_corrente as codigo_c9_2_,
produto0_.codigo_pinhao as codigo_10_2_,
produto0_.codigo_rapido as codigo_11_2_,
produto0_.comprimento as comprim12_2_,
produto0_.cor as cor13_2_,
produto0_.cor_adesivo as cor_ade14_2_,
produto0_.cor_decal as cor_dec15_2_,
produto0_.de_ano as de_ano16_2_,
produto0_.decal as decal17_2_,
produto0_.descricao as descric18_2_,
produto0_.descricao_tipo_produto as descric19_2_,
produto0_.desenho as desenho20_2_,
produto0_.diam_central as diam_ce21_2_,
produto0_.diam_entre_furos as diam_en22_2_,
produto0_.diam_externo_estria as diam_ex23_2_,
produto0_.diam_furos as diam_fu24_2_,
produto0_.diam_interno_estria as diam_in25_2_,
produto0_.diam_passo as diam_pa26_2_,
produto0_.dianteira_traseira as diantei27_2_,
produto0_.dobra as dobra28_2_,
produto0_.espessura as espessu29_2_,
produto0_.imagem as imagem30_2_,
produto0_.imagem_coroa as imagem_31_2_,
produto0_.imagem_corrente as imagem_32_2_,
produto0_.imagem_embalagem as imagem_33_2_,
produto0_.imagem_pinhao as imagem_34_2_,
produto0_.injetado as injetad35_2_,
produto0_.lancamento as lancame36_2_,
produto0_.largura as largura37_2_,
produto0_.largura_estria as largura38_2_,
produto0_.liberado as liberad39_2_,
produto0_.linha_veiculo as linha_v40_2_,
produto0_.local_imagem as local_i41_2_,
produto0_.marca as marca42_2_,
produto0_.modelo as modelo43_2_,
produto0_.modelo_tipo_produto as modelo_44_2_,
produto0_.montadora as montado45_2_,
produto0_.nro_dentes_elos as nro_den46_2_,
produto0_.observacoes as observa47_2_,
produto0_.original as origina48_2_,
produto0_.passo as passo49_2_,
produto0_.pinca_dupla as pinca_d50_2_,
produto0_.pino as pino51_2_,
produto0_.preco as preco52_2_,
produto0_.prefixo as prefixo53_2_,
produto0_.promocao as promoca54_2_,
produto0_.qtd_dentes_estria as qtd_den55_2_,
produto0_.qtd_furos as qtd_fur56_2_,
produto0_.queima_estoque as queima_57_2_,
produto0_.rebaixo as rebaixo58_2_,
produto0_.rebaixo_furos as rebaixo59_2_,
produto0_.self_clean as self_cl60_2_,
produto0_.semelhantes as semelha61_2_,
produto0_.sistema_freio as sistema62_2_,
produto0_.sulfixo_opcional as sulfixo63_2_,
produto0_.tamanho as tamanho64_2_,
produto0_.tipo_corrente as tipo_co65_2_,
produto0_.tipo_produto as tipo_pr66_2_
from
TAB_PRODUTO_DADOS_TECNICOS produto0_
where
produto0_.id=?
E quando eu sou redirecionado para o form.jsp, os campos do tipo select "NÃO CARREGAM" a informação do registro e "PERDEM" os itens...