【发布时间】:2012-07-03 05:40:51
【问题描述】:
我在 JBoss 7 上使用带有 primefaces 的 JSF 2.0。在代码的某些部分,我有以下内容:
public void setItemValue(int value) {
this.value = value;
}
在 xhtml 中:
<p:commandButton ajax="true" value="Button" update="@form"
action="#{bean.setItemValue(1)}"/>
问题是,当我点击按钮时,我得到一个javax.el.MethodNotFoundException,说setItemValue(java.lang.Long) 不存在。当然不是,它应该是一个 int 或 Integer 值!有人见过这个问题吗?除了改变我的接收方法之外还有其他选择吗?谢谢!
编辑:刚刚下载了 JBoss 7.2 的 SNAPSHOT,运行良好。看起来它是 JBoss 7.1.1 的错误 :(
【问题讨论】:
-
尝试使用 f:setPropertyActionListener 或 #{bean.setItemValue('1')}
-
第二次尝试:
Method not found: bean.setItemValue(java.lang.String)。但是第一次尝试成功了!不好的部分是我仍然无法通过 jsf 将Integer或int传递给方法,但这是一个很好的解决方法:) -
与 Tomcat 7.0.26 相同。切换到 Tomcat 7.0.28 为我修复了它。我确实认为 EL 中的文字确实很长,但我喜欢 Integer 方法在 Tomcat 7.0.28 中与匹配的事实。