[RESOLVIDO] RichFaces rich:tab action

7 respostas
V

olá pessoal, o meu problema é o seguinte, eu preciso que quando se clica na aba gostaria que executa-se um metodo

o código é o seguinte

...
<rich:tab label="Saida" style="border-color:red;" action="#{ape_09_39_12_857.Validacao}" reRender="form" oncomplete="javascript:alert('aaa');">
....

só que quando se clica nada acontece, e se eu coloco “onclick” ele diz que o metodo não existe

como eu poderia fazer ?

7 Respostas

S

faz assim coloca dentro do seu rich:tabPanel :

<a4j:support event=“ontabchange” action=“seumetodo()” ajaxSingle=“true”/>

V

e ai surfzera

mais assim, é que são 4 tab, e o metodo so pode rodar quando clicar nuam determinada tab , já tento fazer testes aqui é que o portal esta off agora esperar um pouco,

ai parece que esse

a4j:support event="ontabchange" action="seumetodo()" ajaxSingle="true"/>

ira chamar o metodo toda vez que eu mudar para qualquer tab certo ?

S

isso.

V

não tem como fazer uma ação para determinada aba ?

exemplo

tenho 4 abas…

A B C D , quando clico na B executa o metodo 1 , quando clico na C executa o metodo 2 ?

V

Estou achando estranho pois quando coloco

<rich:tab label="Saida" style="border-color:red;" onclick="#{ape_09_38_56_630.Validacao}">

Aparece

Caused by: javax.faces.FacesException: org.apache.jasper.el.JspPropertyNotFoundException: /jsf/welcome.jsp(40,13) '#{ape_09_38_56_630.Validacao}' Property 'Validacao' not found on type projeto.ape_09_38_56_630
	at org.richfaces.component.html.HtmlTab.getOnclick(HtmlTab.java:603)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:1528)
	... 268 more
Caused by: org.apache.jasper.el.JspPropertyNotFoundException: /jsf/welcome.jsp(40,13) '#{ape_09_38_56_630.Validacao}' Property 'Validacao' not found on type alive.ape_09_38_56_630
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:104)
	at org.richfaces.component.html.HtmlTab.getOnclick(HtmlTab.java:601)
	... 273 more

mas se eu coloco

<h:commandButton value="teste" action="#{ape_09_38_56_630.Validacao}" />

funciona normalmente, não consigo entender o erro

V

encontrei a solução

deixe seu rich:tabPanel assim

<rich:tabPanel switchType="server" >

deixando o switchType=“server” ele se comunica com o servidor na troca de abas

ja o rich:tab

<rich:tab label="Saida" style="border-color:red;" action="#{ape_09_38_56_630.Validacao}"  >
A

Poderia usar o (onlabelclick) dentro da sua rich:tab!

Ex1:
<a4j:support event=“onlabelclick” action=“seumetodo()” ajaxSingle=“true”/>

Ex2:
<a4j:support reRender=“tabPanelDespesas” event=“onlabelclick”>
<f:setPropertyActionListener value=“true” target="#{bean.ativarTabs}"/>
</a4j:support>

Criado 7 de fevereiro de 2011
Ultima resposta 1 de mar. de 2012
Respostas 7
Participantes 3