首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EL表达式解析整数

EL表达式解析整数
EN

Stack Overflow用户
提问于 2012-07-02 19:25:20
回答 4查看 6.9K关注 0票数 2

我使用JSF2.0与JBoss 7之上的primefaces一起使用。

代码语言:javascript
复制
public void setItemValue(int value) {
    this.value = value;
}

在xhtml中:

代码语言:javascript
复制
<p:commandButton ajax="true" value="Button" update="@form" 
action="#{bean.setItemValue(1)}"/>

问题是,当我单击按钮时,我会得到一个javax.el.MethodNotFoundException,表示setItemValue(java.lang.Long)不存在。当然它不是,它应该是一个int或整数值!有人见过这个问题吗?除了改变我的方法来得到一个长时间之外,还有其他的选择吗?谢谢!

编辑:刚刚下载了JBoss 7.2的快照,并且运行良好。看起来它是JBoss 7.1.1的一个bug :(

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-03 00:31:56

操作的方法表达式类型是

字符串动作()

所以用吧

代码语言:javascript
复制
 public String setItemValue(Integer value) {
    this.value = value;
    return null;
}

另请参阅:

UPDATE您需要将Servlet版本声明为3.0以充分利用EL 2.2,例如传递参数。为此,请将web.xml中的web-app元素更改为:

代码语言:javascript
复制
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID"  
 version="3.0">
票数 1
EN

Stack Overflow用户

发布于 2013-08-16 08:37:44

它看起来有点奇怪,但是您可以在EL 2.2中的长对象self上调用方法intValue

代码语言:javascript
复制
<p:commandButton ... action="#{bean.setItemValue((1).intValue())}"/>
票数 3
EN

Stack Overflow用户

发布于 2012-07-03 05:22:51

不要在任何bean方法中使用getset前缀(这是非常糟糕的做法),action属性需要一个方法名,而不是某个getter或setter

getset仅用于bean变量的getter和setter。

最好用类似于setItemValue的东西替换assignItemValue

就像这样:

代码语言:javascript
复制
<p:commandButton ajax="true" value="Button" update="@form" 
    action="#{bean.assignItemValue(1)}"/>

哪里

代码语言:javascript
复制
public void assignItemValue(Long value) { //you could also try with int value...
   //set the value to whenever you want too...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11299930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档