JSF: Como obter o componente a partir do qual é chamada a propriedade do rendered  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Rodrigo Manhães
JavaGuru
[Avatar]

Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline

Bom dia!

Estou tentando resolver um problema em JSF e uma solução simples e limpa seria se eu pudesse, no getter da propriedade indicada no atributo rendered de um <h:commandLink>, identificar o link que disparou a chamada ao getter.

Alguém sabe se há como fazer isto?

https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com
CintiaDR
JavaEvangelist
[Avatar]

Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline

Não entendi exatamente sua dúvida. Mas talvez no context, no request vc tenha alguma solução. Por exemplo, no HttpServletRequest, tem uns métodos como path, URL que foi requerida, etc. No ViewRoot, são informações mais "JSF", então sei lá...


Faça Perguntas Inteligentes - NÃO me pergunte como

PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo!
[MSN] [ICQ]
Rodrigo Manhães
JavaGuru
[Avatar]

Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline

Olá Cintia!

Obrigado pela atenção. Vou explicar com mais detalhes.

Eu tenho um commandLink, por exemplo:



Quando for o momento de o JSF renderizar o componente, o método isOk() será executado no managed bean. A minha pergunta é se existe possibilidade de, no método bean.isOk(), eu conseguir obter o UICommand referente ao <h:commandLink> em questão (imagine que eu tenho vários command links, todos com rendered="#{bean.ok}" e quero saber de qual veio a chamada, pois a resposta (true ou false) depende disto.

https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com
under_fire
Entusiasta Java
[Avatar]

Membro desde: 22/08/2007 16:35:37
Mensagens: 16
Localização: Joinville
Offline

Rodrigo Manhães wrote:Olá Cintia!

Obrigado pela atenção. Vou explicar com mais detalhes.

Eu tenho um commandLink, por exemplo:



Quando for o momento de o JSF renderizar o componente, o método isOk() será executado no managed bean. A minha pergunta é se existe possibilidade de, no método bean.isOk(), eu conseguir obter o UICommand referente ao <h:commandLink> em questão (imagine que eu tenho vários command links, todos com rendered="#{bean.ok}" e quero saber de qual veio a chamada, pois a resposta (true ou false) depende disto.



Eu to procurando isso a um tempão ....
Isso seria muito show...
Se tivesse algum modo pratico sem te que implementar um biding... do componente..
[WWW]
CintiaDR
JavaEvangelist
[Avatar]

Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline

Rodrigo Manhães wrote:Olá Cintia!

Obrigado pela atenção. Vou explicar com mais detalhes.

Eu tenho um commandLink, por exemplo:



Quando for o momento de o JSF renderizar o componente, o método isOk() será executado no managed bean. A minha pergunta é se existe possibilidade de, no método bean.isOk(), eu conseguir obter o UICommand referente ao <h:commandLink> em questão (imagine que eu tenho vários command links, todos com rendered="#{bean.ok}" e quero saber de qual veio a chamada, pois a resposta (true ou false) depende disto.


Não, não conheço...

Faça Perguntas Inteligentes - NÃO me pergunte como

PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo!
[MSN] [ICQ]
rogeriorobetti
Entusiasta Java

Membro desde: 11/06/2008 20:50:26
Mensagens: 15
Offline

Rodrigo, se tiver encontrado uma solução "bonita" ou não, por favor poste, pois estou com o mesmo problema.

desde já agradeço.
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Rodrigo,
Não sei se é o que precisa, mas se você criar uma propriedade no seu bean do tipo "HtmlCommandLink" e der um binding no seu "commandLink", você consegue pegar o id desse link quando o método bean.isOk() for acionada.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
psyltrance
Java Ninja
[Avatar]

Membro desde: 26/02/2008 15:35:14
Mensagens: 254
Offline

fabio.massa wrote:Rodrigo,
Não sei se é o que precisa, mas se você criar uma propriedade no seu bean do tipo "HtmlCommandLink" e der um binding no seu "commandLink", você consegue pegar o id desse link quando o método bean.isOk() for acionada.

Abraços,

How about <h:inputHidden name="formOk" value="veioDoFormOK" /> !??! e na action vc pegaria pelo nam.
é "deselegante" mais acho que funcionaria...
=]
rogeriorobetti
Entusiasta Java

Membro desde: 11/06/2008 20:50:26
Mensagens: 15
Offline

Fabio, vc poderia ser mais claro na solução que propos ? Se puder postar um trecho de código, ajudaria baestante...
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

Como o Fábio citou:


Dessa forma você está linkando o seu componente no seu Bean ao componente no Jsf, tudo que for feito em um reflete no outro.

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
alpharagga
JavaTeenager
[Avatar]

Membro desde: 21/01/2005 11:42:10
Mensagens: 187
Offline

Mais ai dependendo da quantidade de componentes, teriam muitos e muitos bindings.

fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

rogeriorobetti é isso mesmo que o maurenginaldo postou, valeu marenginaldo!

alpharagga qual o problema de ter muitos bindings?, estou lhe questionando pois estou estudando JSF, apesar de encontrarmos muitas coisa sobre, é sempre bom aprender mais. Se puder esclarecer essa dúvida eu agradeço muito.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
alpharagga
JavaTeenager
[Avatar]

Membro desde: 21/01/2005 11:42:10
Mensagens: 187
Offline

Se a quantidade de páginas sempre aumentar, consequentemente a quantidade de componentes que precisam do bindings para que esse esquema funcione???? como fica nesse caso???? teria que ser algo que fosse transparente para o managed bean.

maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

alpharagga wrote:Se a quantidade de páginas sempre aumentar, consequentemente a quantidade de componentes que precisam do bindings para que esse esquema funcione???? como fica nesse caso???? teria que ser algo que fosse transparente para o managed bean.


Não vejo problema para esse tipo de solução, nessa situação para se ter controle do componente do lado do bean a forma de resolver é essa.

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team