[RichFaces] Uso de f:param em rich:menuItem

1 resposta
J

Salve pessoal,

Na minha rich:dataTable, eu passo um parâmetro para um rich:contextMenu:

<rich:dataTable
							value="#{FechamentoCaixaBean.pageForm.fechamentoCaixa.chequeList}"
							var="item" id="tbCheques"
							rendered="#{not empty FechamentoCaixaBean.pageForm.fechamentoCaixa.chequeList}">
							<rich:column>
								<f:facet name="header">
									<h:outputText value="Valor" />
								</f:facet>
								<h:outputText value="#{item.valor}" />
							</rich:column>
							<rich:column>
								<f:facet name="header">
									<h:outputText value="Descricao" />
								</f:facet>
								<h:outputText value="#{item.descricao}" />
							</rich:column>
							<rich:componentControl event="onRowClick" for="excluirChequeMenu"
								operation="show">
								<f:param id="chequeSelecionado" value="#{item}" name="chequeSelecionado" />
							</rich:componentControl>
						</rich:dataTable>

No meu context menu, eu pego esse parâmetro para montar um rich:menuItem:

<rich:contextMenu attached="false" id="excluirChequeMenu" submitMode="ajax">
					<rich:menuItem value="Excluir o cheque '{chequeSelecionado.descricao}'" ajaxSingle="true" action="#{FechamentoCaixaBean.excluirCheque}" reRender="tbCheques">
						<a4j:actionparam name="chequeExcl" value="{chequeSelecionado.descricao}" />
					</rich:menuItem>
				</rich:contextMenu>

O problema é que no value do rich:menuItem, o parametro é convertido corretamente e aparece certinho no label do menu… mas no meu a4j:actionparam, quando recupero o parametro no requestParameterMap, o que vem é a string {chequeSelecionado.descricao}, ao invés do parametro.

Como faço para recuperar o parametro corretamente?

[]s

Jonas

1 Resposta

wolmirGarbin

Opa!
Beleza Cara!
Seguinte não uso o richFaces mas sim o myFaces isso me da uma boa noção para te responder, não testei mas analizando seu código acho que você deveria colocar desta maneira:

<rich:contextMenu attached=“false” id=“excluirChequeMenu” submitMode=“ajax”>

<rich:menuItem value=“Excluir o cheque ‘{chequeSelecionado.descricao}’” ajaxSingle=“true” action="#{FechamentoCaixaBean.excluirCheque}" reRender=“tbCheques”>

# <a4j:actionparam name=“chequeExcl” value="[color=red]#{chequeSelecionado.descricao}[/color]" />

</rich:menuItem>

#</rich:contextMenu>

Pois da maneira que esta passando o parametro ele assume o valor {chequeSelecionado.descricao} mesmo se vc colocar {1} vai passar {1} se colocar o jogo da velha ai ele vai passar o valor deste atributo.
Valeu!

Criado 1 de março de 2010
Ultima resposta 1 de mar. de 2010
Respostas 1
Participantes 2