【发布时间】:2012-01-05 06:26:09
【问题描述】:
我在我的应用程序中遇到了这个问题。奇怪的是,在我启动我的应用程序的某个时刻出现了这个错误弹出窗口,但有时却没有。
堆栈跟踪的一部分..
javax.faces.FacesException: var attribute must be set
at org.jboss.seam.ui.component.UISelectItems$ContextualSelectItem.<init>(UISelectItems.java:58)
at org.jboss.seam.ui.component.UISelectItems$1.<init>(UISelectItems.java:219)
at org.jboss.seam.ui.component.UISelectItems.asSelectItems(UISelectItems.java:195)
at org.jboss.seam.ui.component.UISelectItems.getValue(UISelectItems.java:178)
at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:289)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:814)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:280)
我认为我的错误来源与 h:selectOneMenu 有关,但我在 selectItems 中正确定义了我的 var 属性。
<h:selectOneMenu value="#{myBean.user}">
<s:selectItems value="#{myBean.userList}" var="_user" label="#{_user.name}" />
</h:selectOneMenu>
有没有人遇到过这个问题,请帮忙。 我做了几项研究,但没有找到运气。
谢谢。
【问题讨论】:
-
你能提供你的
h:selectOneMenu的代码吗? -
您是否尝试过使用 var 上的
_?只是userVar例如。还要确保您使用的是最新版本的 seam,特别是如果您使用的是 jsf2.0