Olá pessoal,
estou precisando usar o f:param
e gostaria de saber se alguém tem
algum exemplo de como usar
o f:param e como pegar
o parametro com o FacesContext?
Será que alguém poderia me
dar uma ajuda?
[]'s.
Olá pessoal,
estou precisando usar o f:param
e gostaria de saber se alguém tem
algum exemplo de como usar
o f:param e como pegar
o parametro com o FacesContext?
Será que alguém poderia me
dar uma ajuda?
[]'s.
Olá pessoal, alguém já mexeu com f:param do JSF?
Será que alguém pode me dar uma dica?
[]'s.
Olá,
Se o f:param estiver em um h:commandLink, o seu valor é automaticamente jogado nos parâmetros da requisição.
Para pegar, faça o seguinte:
facesContext.getExternalContext().getRequestParameterMap().get("nome_do_parametro");
Se estiver em um botão é um pouco mais complicado, porque este componente não faz tratamento do f:param e consequentemente seu valor não fica disponível no Request.
É preciso pegar uma referência ao botão e procurar o componente f:param entre seus filhos, para só aí obter o valor.
Se tiver dúvidas posta aí!
Bom …
Usa o <s:link> para usar o <f:param>
Na sua action você só cria a variavel com o mesmo nome do <f:param>
Ex:
<s:link>
<f:param name=“parametro” value="#{seuBean.parametro}"/>
</s:link>
Ai chama assim ex:
@RequestParameter
String parametro;
Espero ter ajudado.
Abraço
use o <f:setPropertyActionListener value="#{item}" target="#{myBean.propriedade}" />
Jóia gomesrod?
Obrigado pela ajuda, mas
eu estou precisando fazer isso
justamente para um botão,
vc tem algum exemplo
de código aonde usa
o f:param com um commandButton?
Abraço.
Jóia finotti? blz natureza?
Obrigado pela ajuda,
mas eu estou precisando usar
um f:param com um commandButton
vocês ou alguémnão tem um exemplo
para me mostrar?
[]'s.
você pode usar com um commandButton.
<h:commandButton value="Press here" action="#{myBean.action}">
<f:setPropertyActionListener target="#{myBean.property1}" value="propertyValue1" />
<f:setPropertyActionListener target="#{myBean.property2}" value="propertyValue2" />
</h:commandButton>
Aqui tem várias formas de se passar parâmetros para o MB. Eu prefiro usar o f:setPropertyActionListener mesmo.
[]'s
Obrigado finotti,
eu vou fazer os testes aqui.
Abraço.
Jóia Pessoal?
Eu estou fazendo o seguinte link:
<h:column>
<f:facet name="header">
<h:outputText value="Endereco"/>
</f:facet>
<h:commandLink action="#{ProdutorController.tabelaEnd}">
<f:setPropertyActionListener target="#{ProdutorController.endereco}" value="#{produtor.endereco}"/>
<h:graphicImage styleClass="alinhamento_endereco" url="Icons/endereco.png" title="Endereco" />
</h:commandLink>
</h:column>
Mas eu preciso pegar a referência e não estou conseguindo:
public String tabelaEnd(){
//parametro que veio da bean
this.endereco = FacesContext.getCurrentInstance().
getExternalContext().getRequestParameterMap().get("parametro_endereco");
return "detalhes_endereco";
}
Será que alguém pode me dar uma ajuda?
[]'s.
Ricardo, quando você usa o setPropertyActionListener, não é necessário recuperar o parâmetro através do FacesContext.
O parâmetro é “setado” automaticamente no Managed Bean. Você define qual atributo receberá o valor através do target="#{ProdutorController.endereco}
Nesse caso, o atributo endereco da classe ProdutorController receberá o “parâmetro”.
Valeu finotti,
agora deu certo aqui,
MUITO OBRIGADO!!!
Abraço.
Olá,
Quero aproveitar a deixa e colocar aqui minha dúvida que acho que tem em comum com a discussão.
Preciso passar parâmetros para a página destino, sendo que a página chamadora e a página destino usam o mesmo Bean. No entanto, não quero usar escopo de sessão por motivos que não vem ao caso e estou usando ViewScoped.
Meu código ficou assim:
<p:commandButton id="add" value="Adicionar" title="Adicionar" action="addpais" icon="ui-icon-plus">
<f:setPropertyActionListener value="#{paisControllerBean.newPais()}" target="#{paisControllerBean.pais}" />
</p:commandButton>
Ao clicar no botão, o método newPais() é executado e um novo objeto “pais” é inicializado e retornado, mas ao entrar na página addpais a propriedade não está inicializada. Como posso pegar o valor de “pais” na página destino?
Obs:
Sei que posso inicializar o objeto “pais” na página destino por meio de uma viewAction, como segue:
<f:metadata>
<f:viewAction action="#{paisControllerBean.newPais()}" />
</f:metadata>
Mas assim eu não teria os valores da view anterior nos quais preciso me basear para inicializar o objeto.