[Resolvido] JSF - render="@form" não funciona junto do execute="@form"

1 resposta
bruno_7317
Minha tela:
...
<div class="...">
	<div class="...">
		<h:form id="form">
			<table>
				<ui:repeat var="produto" value="#{mBean.produtos}" varStatus="status">
					<tr>
						<td>
							<h:selectBooleanCheckbox value="#{produto.escolhido}" />
						</td>
						<td>
							<h:outputLabel value="#{produto.descProduto}" />
						</td>
						<td>
							<h:outputLabel value="Valor:" />
						</td>
						<td>
							<h:inputText value="#{produto.valorReferencia}" />
						</td>
					</tr>
				</ui:repeat>
			</table>
			<span class="botao">
				<h:commandButton value="ADICIONAR" action="#{mBean.adicionar}">
					<f:ajax render="@form" execute="@form" />
				</h:commandButton>
				<h:commandButton value="LIMPAR" immediate="true">
					<f:ajax render="@form" />
				</h:commandButton>
			</span>
		</h:form>
	</div>
</div>
...

A tabela lista uma quantidade X de produtos a serem selecionados. O usuário seleciona, informa um valor e clica em "adicionar".
O problema é que quando clico em adicionar, após resetar o objeto produtos no mBean, os valores na tela não são resetados, as checkbox continuam checkadas e os valores informados se mantêm.
Entretanto, quando eu clico em "limpar", que somente solicita o Re-render, os valores somem.
Estou fazendo algo errado?

1 Resposta

bruno_7317

Não descobri por quê o ui:repeat dá problema, mas consegui fazer um workaround.
Usando o <c:forEach> ele funcionou como eu queria.

Criado 24 de julho de 2012
Ultima resposta 24 de jul. de 2012
Respostas 1
Participantes 1