Erro no binding de um h:dataTable - JSF

0 respostas
L

Pessoal,

Não consigo fazer binding de um <h:dataTable>. O erro retornado é esse:

java.lang.IllegalArgumentException
	javax.faces.model.ListDataModel.getRowData(ListDataModel.java:139)
	javax.faces.component.UIData.getRowData(UIData.java:324)
	br.com.sge.managedBeans.BaixaEstoqueBean.incluirProduto(BaixaEstoqueBean.java:31)

Segue trechos do xhtml e do managedBean.
BaixaEstoqueBean

private javax.faces.component.html.HtmlDataTable dataTableProdutosEstoque;
...
public String incluirProduto() {
        Produto produto = (Produto) this.getDataTableProdutosEstoque.getRowData();   //linha 31
		BaixaEstoque baixaEstoque = new BaixaEstoque();
		baixaEstoque.setProdutoCodigo(produto);
		baixaEstoque.setSolicitanteCodigo(login.getUsuario());
		baixaEstoque.setDataSolicitacao(new Date());
		
		System.out.println("Produto: " + produto.getDescricao());
		return null;
	}

xhtml

<h:dataTable value="#{baixaEstoqueBean.produtosEstoque}" var="produto"
			     		rowClasses="linhaClara, linhaEscura" styleClass="dataTableProdutos"
			     		binding="#{baixaEstoqueBean.dataTableProdutosEstoque}">
			     		  <h:column>
			     			<f:facet name="header">
			     				<h:outputText value="Produto" />
			     			</f:facet>
			     			<h:outputText value="#{produto.descricao}" />
			     		</h:column>			     		
			     		<h:column>
			     			<f:facet name="header">
			     				<h:outputText value="Incluir" />
			     			</f:facet>
			     			<h:commandButton styleClass="panelBotaoAdicionar" value="Incluir" 
			     				action="#{baixaEstoqueBean.incluirProduto}" />
			     		</h:column>
			     	</h:dataTable>

Ao clicar no botão Incluir na página, deveria listar o produto selecionado no console, no entanto o erro citado acima ocorre.
Onde estou errando?
Estou usando Apache Tomcat/6.0.18 e Sun JSF (1.2_03-b05-FCS).

Criado 24 de fevereiro de 2010
Respostas 0
Participantes 1