selectOneMenu com valueChangeListener para chamar página. (RESOLVIDO)

1 resposta
vanilton.coelho

Pessoal, não sei oque estou fazendo de errado ou se estou fazendo da forma correta, tenho várias páginas mapeadas em meu faces-config, e fiz o seguinte, populei os itemValue do meu selectOneMenu com uam certa String, e ai com o valueChangeListener eu pegaria o valor do Event, e estou tentando retornar atraves de outro metodo, exemplo:

public void buscarRelatorio(ValueChangeEvent event){
		
	String relatorio = event.getNewValue().toString();
		
	this.abrirRelatorio();	

}

public String abrirRelatorio() {
	return "teste";
}

esta string “teste” está mapeada assim em meu faces config:

<managed-bean>
        <managed-bean-name>testeManagedBean</managed-bean-name>
        <managed-bean-class>br.com.projetoTeste.mb.TesteManagedBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    
    <navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
            <from-outcome>teste</from-outcome>
            <to-view-id>/teste2.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>

ou seja, se a string for essa, deveria encaminhar para a teste2.jsp, porem nem sai da tela, o efeito é o mesmo de eu estar retornando uma String nula.

alguem imalgina oque possa ser???

1 Resposta

vanilton.coelho

Resolvi sozinho, achei uma tag chamada <s:submitOnEvent> do sandbox, com ela vc indica o evento e quem irá ser submetido, ai fiz assim:

&lt;s:submitOnEvent event="change" for="actionRelatorioHidden" /&gt;

e então logo abaixo de meu selectOneMenu eu fiz:

&lt;t:commandButton id="actionRelatorioHidden" forceId="true" style="display: none;" action="#{TesteMB.selecionaRelatorio}" /&gt;

e lá no meu método selecionaRelatorio eu faço oque eu quizer, no caso eu pego o value de um objeto em meu managedBean e dependendo desse valor eu retorno uma String mapeada em meu faces-config.

simples, mas que pra chegar nessa solução foi complicadão, pois despendi um tempo precioso.

Criado 9 de setembro de 2008
Ultima resposta 9 de set. de 2008
Respostas 1
Participantes 1