Jsf 2 ui:param Illegal Syntax for Set Operation

5 respostas
rodrigo.bossini

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

rogerioag

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

name="#{tabAtiva}"

rodrigo.bossini

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?

rogerioag

Dê um olhadinha aqui

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

rodrigo.bossini

É…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?

rogerioag

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