В чем причина этой ошибки «javax.faces.FacesException: должен быть установлен атрибут var» и как это исправить? - PullRequest
1 голос
/ 05 января 2012

Я столкнулся с этой проблемой в своих приложениях.Странной частью было то, что эта ошибка всплывала в какой-то момент, когда я запускал свои приложения, но иногда это не так.

Кусок стека трассировки.что-то делать с h: selectOneMenu, но я правильно определил свой атрибут var в моих selectItems.

<h:selectOneMenu value="#{myBean.user}">
   <s:selectItems value="#{myBean.userList}" var="_user" label="#{_user.name}" />
</h:selectOneMenu>

Кто-нибудь сталкивался с этой проблемой, пожалуйста, помогите.Я провел пару исследований, но не нашел удачи.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Это может иметь 2 причины:

  1. #{myBean.userList} вернул null или пустой список.
  2. #{_user} уже объявлено заранее в области.

Чтобы решить это:

  1. Убедитесь, что #{myBean.userList} не возвращает null и не является пустым.
  2. Убедитесь, что вы не использовали #{_user} где-либо еще в представлении. Дайте ему другое имя.
1 голос
/ 05 января 2012

Это происходит, когда страница отображается, или есть что-то более конкретное в отношении времени, когда она возникает. Мое предложение состоит в том, что где-то у вас есть что-то вроде this без определения var, и это вызывает ошибку. Попробуйте посмотреть здесь , чтобы узнать, как использовать h:selectOneMenu.

...