Link JSF

Fala Feras

Montei uma tela que tem um link que faz uma chamada para um metodo para exportar um relatório PDF

acontece que quando eu clico nesse link conforme abaixo ele não entra no meu metodo

<h:commandLink action="#{pedidosDelegate.imprimirOrdemServico}" value="Imprimir" />

ai tentei montar usando o a4j:commandLink da seguinte forma

<a4j:commandLink action="#{pedidosDelegate.imprimirOrdemServico}" value="Imprimir"></a4j:commandLink>

mais quando e para exportar o relatório a tela fica cheia de caracter estranho e não abra a janela para abrir o relatorio

ai tentei colocando um h:commandButton ai funciona certo conforme esta abaixo

<h:commandButton action="#{pedidosDelegate.imprimirOrdemServico}" value="Imprimir" />

porém não posso usar botão apenas link alguém saberia dizer o que esta acontecendo ?

Tenta assim:

<s:link action="#{pedidosDelegate.imprimirOrdemServico}" value="Imprimir" />

A taglib dele é esta:

<%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s"%>

Inté

Fala Robson, e ai mano, blz.

Entaum, no meu projeto eu uso assim, e esta funcionando.

<h:commandLink action="#{contractManager.cashinPrinter}" target="_blank" rendered="#{cashins.status ne 1}"> <h:graphicImage value="/img/print.gif" style="border: none" /> <f:setPropertyActionListener target="#{contractManager.cashin}" value="#{cashins}" /> </h:commandLink>

Outra coisa importante tambem, la no seu metodo que gera o relatorio esta especificando qual o tipo de arquivo a ser enviado ao browser?

tipo:

response.setContentType("application/pdf");

Eai Luciano fmzão mano mais uma heiii rsrsrs

então cara tentei seguir o que vc passou mais queria saber como eu altero essas outras tags como o f:setPropertyActionListener acho que não precisarei usar o rendered e essa tags target o que seria esse valor que vc passou ?

outro detalhe esta especificado sim o tipo de relatório que e para exportar conforme o que vc citou no post

response.setContentType("application/pdf"); 

Eo Link estou fazendo assim

											 <h:commandLink action="#{pedidosDelegate.imprimirOrdemServico}"  
											     target="_blank" rendered="#{cashins.status ne 1}">  
											     <h:graphicImage value="/resources/imagens/print.gif" style="border: none" />  
											     <f:setPropertyActionListener  
											         target="#{contractManager.cashin}" value="#{cashins}" />  
											 </h:commandLink>

tentei seguir o que o Natureza passou mais estou rescebendo um exceção fiz dessa seguindo o exemplo dele

<s:link action="#{pedidosDelegate.imprimirOrdemServico}" id="print" value="Imprimir" />
09:18:22,265 WARN  [renderkit] Unable to find component with ID nome in view.
09:18:22,328 ERROR [STDERR] 22/01/2010 09:18:22 com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/paginas/pedidos/buscarPedidos.xhtml]
javax.el.ELException: /paginas/pedidos/buscarPedidos.xhtml: Property 'imprimirOrdemServico' not found on type br.com.universomotoboys.universo.web.pedidos.delegate.PedidosDelegate

Ai cara, bom dia, entaum, a tag target="_blank" é para apresentar o relatorio em outra pagina, ja o tag <f:setPropertyActionListener target="#{contractManager.cashin}" value="#{cashins}" /> estou enviando o objeto atual cashin de uma lista de #{cashins} lá para o meu ManageBean #{contractManager.cashin}, por exemplo na sua pagina tem uma lista de ordem de servico, entaum eu seleciono uma para impressao, ele vai pegar a linha atual e setar ela no #{contractManager.cashin}

Então Luciano fiz assim mais quando eu clico não entra no meu metodo

tem algo errado ?

											 <h:commandLink action="#{pedidosDelegate.imprimirOrdemServico}"  
											     target="_blank">  
											     <h:graphicImage value="/resources/imagens/print.gif" />  
											     <f:setPropertyActionListener  
											         target="#{pedidosMbean.pedidosTO}" value="#{listaPedidos}" />  
											 </h:commandLink>

Cara, tem como vc me mandar no meu e-mail a pagina toda e o ManageBean?

Luciano já mandei Valeu pelo ajuda

Cara na sua Pagina a chamada ao metodo esta declarada assim: pedidosDelegate.imprimirOrdemServico
Lá no seu manageBean tem um metodo declarado assim: public void ordemServico() {, qual a ligação entre eles, quer dizer, se há alguma ligação entre eles, onde esta declarado o metodo imprimirOrdemServico?

e porque o metodo imprimirOrdemServico esta em um delegate mais vou te enviar o delegate contendo o metodo

Luciano valeu mano o problema era que eu tinha 2 form na minha pagina e acho que a acão estava se perdendo tirei um form e resolveu meu problema

valeu pela força