Jsf 2 ui:param Illegal Syntax for Set Operation

5 respostas
R

Oi pessoal,

Tenho um template que faz uso de um parâmetro para selecionar qual tab de um accordionPanel (do prime faces) estará ativa. Esse parâmetro é lido no template assim:
#{tabAtiva}.

E aí tenho várias ui:composition que fazem uso do template e passam o parâmetro tabAtiva conforme desejado, assim:

<ui:composition template=meuTemplate.xhtml>
  <ui:param name="tabAtiva" value="1"/>

Quando tento navegar para uma dessas compositions, tenho o erro Illegal Syntax for Set Operation.

Onde estou errando?

5 Respostas

R

Não faltou colocar como expressão EL em name?

name="#{tabAtiva}"

R

Não…eu tô fazendo da forma que vi no JSF core. Olha:

<ui:composition template="templates/masterTemplate.xhtml">
  <ui: param name="currentDate" value="#{someBean.currentDate}"/> 
</ui:composition>
... 
<body>
  Today's date: #{currentDate}"/> 
</body> 
...

O que mais pode ser?

R

Dê um olhadinha aqui

Acho que você não pode fixar o valor “1” diretamente, mas como uma propriedade do bean.

R

É…eu tava tentando evitar isso…mas parece que não tem jeito mesmo. Criei um “tabsBean” pra resolver. Mas seilá, fica com uma cara de gambi, não fica?

R

Sinceramente não acho uma gambi, pois fica mais dinâmico, e não fixo como estava originalmente.

Só não acho que precisa criar um bean só para isso, mas apenas mais um atributo no managedBean que já existe.

Criado 31 de julho de 2012
Ultima resposta 31 de jul. de 2012
Respostas 5
Participantes 2