Bom dia Pessoal!!
Seguinte, em uma jsp tenho um botão, para colocar um produto no carrinho de compras, no actionListener referenciado no botão, recebo o código do produto a ser comprado. Qdo passo o parametro de forma fiza para o actionListener, tudo ok, funciona normal:
<h:commandButton value="Comprar" actionListener="#{Teste.eventTeste}" > #
<f:param id="cod_prod" name="cod_prod" value="1"/>
</h:commandButton>
Agora, passando o valor do parametro vindo de um managed bean, ele trata o nome do parametro, tráz normal, mas o valor vem nulo, assim:
<h:commandButton action="comrar" value="Comprar" actionListener="#{Teste.eventTeste}" >
<f:param id="cod_prod" name="cod_prod" value="#{ProdutoFacade.produto.cod_prod}"/>
</h:commandButton>
A classe referenciada no actionListener do botão é essa:
package beans;
import javax.faces.component.UIComponent;
import javax.faces.component.UIParameter;
import javax.faces.event.ActionEvent;
/**
*
* @author Luiz Henrique
*/
public class Teste {
/** Creates a new instance of Teste */
public Teste() {
}
public void eventTeste( ActionEvent event ) {
String a = event.getComponent().getId();
System.out.print(a);
UIComponent component = (UIComponent) event.getComponent();
System.out.print(component);
UIParameter parameter = (UIParameter) event.getComponent().findComponent("cod_prod");
int cod_prod = Integer.parseInt( parameter.getValue().toString() );
System.out.print(cod_prod);
}
}
Seria algum problema de conversão ou algum outro problema?? Lembrando que o valor vindo de value="#{ProdutoFacade.produto.cod_prod}" não é nulo!!