Action do h:commandButton dentro do ui:repeat não é chamado com @RequestScoped
7 respostas
gilbueno
Olá amigos,
estou com outro problema com o @RequestScoped e gostaria de saber se sabem como solucionar,
lembrando mais uma vez: não quero usar @SessionScoped, preciso usar @RequestScoped
de jeito nenhum consigo executar o método “meuMetodo”
o JSF simplesmente ignora, não faz nada ao clicar no botão! e olha que não estou passando nenhum parâmetro, só peço para dar um System.out e nada!
será q tem como fazer algo com html e javascript?
não quero usar primefaces, richfaces, manolofaces, nada dessas bibliotecas externas
<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:ui="http://java.sun.com/jsf/facelets"><h:head><title>Facelet Title</title></h:head><h:body><h:form><ui:repeatvalue="#{meuBean.words}"var="itemDaLista"><h:commandButtonvalue="#{itemDaLista}"action="#{meuBean.meuMetodo}"/></ui:repeat></h:form></h:body></html>
gilbueno
vc está usando @RequestScoped?
eu to achando que meu problema é outro…
to achando que é pq eu to usando esse facelet no ui:include
estou fazendo um sistema de portlet, e tenho uma “janela” que é representada tipo assim:
<ui:include src=“meuFacelet.xhtml”/>
ta mor treta pq tem um monte de componente que não é compativel com outro
principalmente quando uso @RequestScoped
eu vou dar mais uma conferida pra ver se é esse o problema
obrigado pela ajuda
Priuli
Conseguiu alguma solução para o seu problema ?
Estou passando pelo mesmo por enquanto estou utilizando scopo de sessao mas gostaria de utilizar o escopo de request.
gilbueno
Sim, consegui uma ótima solução que eu aconselho a todos que utilizam o framework JSF:
desistam, sinceramente, desistam de sofrer, existem muitas outras soluções por aí
Eu estou usando apenas Servlet/Webservice e javascript agora. Muito mais fácil e prático.
Experimente usar jQuery, underscore.js e backbone.js são frameworks javascript que fazem a diferença.
Mas se vc quer mesmo usar JSF use @SessionScoped, é a única maneira que funciona, ele não foi feito pra ser escalavel respondendo requests independentes sem manter dados na sessão.
Ainda existem outros frameworks como VRaptor, mas javascript é o canal.
gilbueno
ok eu respondi aquilo e tá valendo, mas acho q se vc usar c:forEach pode funcionar :P~