Richfaces: Renderização de componente que depende de outro componente

2 respostas
Lucas_Sorrentino

Olá a todos…

estou querendo fazer um lance, dei uma pesquisada e não encontrei nada que me ajudasse muito nesse caso, por isso vim pedir uma luz aqui, até mesmo pra saber se isso é possível…

O lance é o seguinte…

Tenho componentes na minha página que são renderizados a partir do rich:isUserInRole. Do tipo, caso o usuario seja um administrador, todos os componentes são renderizados, mas caso seja apenas um usuário, algumas opções do menu não são renderizadas. Minha pergunta é:

existe uma maneira, no client-side, que faça com que um componente seja renderizado ou não a partir de outro componente da página? Por exemplo, se aquele componente x não for renderizado, os componentes y e z também não serão renderizados…

isso é possível??

2 Respostas

H

Lucas, você pode utilizar uma taglibrary específica para isso.

http://dominikdorn.com/facelets/

Veja se isso resolve seu problema.

Tem no site um exemplo parecido com isso:

<sec:ifAnyGranted roles="ROLE_USER,ROLE_ADMIN">
            This gets shown if the user has any of the roles "ROLE_USER" or "ROLE_ADMIN"<br/>
&lt;/sec:ifAnyGranted&gt;


&lt;sec:ifAllGranted roles="ROLE_USER,ROLE_MODERATOR"&gt;
This gets shown if the user has all of the roles "ROLE_USER" and "ROLE_MODERATOR"<br/>
&lt;/sec:ifAllGranted&gt;


&lt;sec:ifNotGranted roles="ROLE_MODERATOR,ROLE_VIEWER"&gt;
This gets shown if th user has not any of the roles "ROLE_MODERATOR" or "ROLE_VIEWER"<br/>
&lt;/sec:ifNotGranted&gt;
clebiovieira

Cara não tem jeito, javascript… Agora se seu componente for um filho e o pai não foi rederizado, vc não precisa se preocupar.

algo parecido com isso:

rendered = #{"get(formulario:btnbola).style.[propriedadeCSS_esqueciOnome] == ‘none’ "}

Esse é o caminho, desculpa não ter elucidado mais… to indo dormir já… abs

Criado 7 de abril de 2011
Ultima resposta 7 de abr. de 2011
Respostas 2
Participantes 3