Tenho 3 dataTable em uma pagina e quero chamar um deles apenas por um link em outra pagina

1 resposta
E

eae pessoal… blz?

Então, tenho 3 dataTable em uma pagina e quero chamar um desses apenas por um link em outra pagina, como poderia fazer isso?
valeu galera…
falow :slight_smile:

1 Resposta

M

3 links com parâmetros diferentes…:

<h:commandLink id=“link1” actionfiltered=“success” actionListener=" #{mb.initPage}">
<h:outputText value=“Link1” />
<f:param id=“parExibir” name=“showLink1” value=" dataTable1" />
</h:commandLink>

<h:commandLink id=“link2” actionfiltered=“success” actionListener="#{mb.initPage}">
<h:outputText value=“Link2” />
<f:param id=“parExibir” name=“showLink2” value=“dataTable2” />
</h:commandLink>

<h:commandLink id=“link3” actionfiltered=“success” actionListener="#{ mb.initPage}">
<h:outputText value=“Link3” />
<f:param id=“parExibir” name=“showLink3” value=“dataTable3” />
</h:commandLink>

no seu Managed Bean, vc cria trÊs atributo boolean para verificar o parâmetro e um exibir para agindo como um parâmetro genérico:

private boolean showLink1;

public void setShowLink( boolean value ) { this.showLink1 = value; }

public boolean getShowLink1() { return showLink1; }

private boolean showLink2; // get/set
private boolean showLink3; // get/set

private String exibir; // esse carinha q vai fazer a diferÊnça

vc vai ter q setá-lo em algum método para a execução:

public void initPage( ActionEvent event ) throws Exception {

setShowLink1( false );

setShowLink2( false );

setShowLink3( false );

UIParameter show = ( UIParameter ) event.getComponent().findComponent( “parExibir” );
this.exibir = show.getValue().toString();

if ( exibir.equals( dataTable1 ) ) setShowLink1( true );

if ( exibir.equals( dataTable2 ) ) setShowLink2( true );

if ( exibir.equals( dataTable3 ) ) setShowLink3( true );

}

e na página( dataTable ) vc coloca um rendered para exibir ou não:

rendered="#{mb.showLink1}"

Criado 5 de setembro de 2006
Ultima resposta 5 de set. de 2006
Respostas 1
Participantes 2