我有一个有状态的会话bean。
@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris
有一些功能
public void roundHouseKick()
{
...
}
接口
@Local
public interface ChuckNorris
{
public void roundHouseKick()
{
...
}
}
并使用
在jsf .xhtml页面上调用它们#{chuckNorrisBean.roundHouseKick}
完美无缺。但是,如果我将@Stateful注释添加到bean中,那么它就变成了
@Stateful
@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris
并且页面将加载有关于
的例外抱怨Exception during request processing:Caused by javax.servlet.ServletException
with message: "#{chuckNorrisBean.roundHouseKick}: javax.el.MethodNotFoundException:
//localhost/universe/earth.xhtml @41,65 action=
"#{chuckNorrisBean.roundHouseKick}": Method not found:
ChuckNorrisBean:a6gkg-w6das4-g8wmgh0y-1-g8woy0wo-4b.roundHouseKick()"
关于我的chuckNorrisBean可能出错的任何建议?
系统建立在SEAM / richfaces上。
谢谢!
----编辑添加更多信息----
该项目是使用maven 2.1打包为ear(单个.ear文件作为目标输出)。
应用程序服务器是JBoss。
经过更多的调试和调整,放
<page view-id="/index.xhtml">
<action execute="#{chuckNorrisBean.roundHouseKick}" />
</page>
在pages.xml中的似乎踢得很好。我仍然无法弄清楚为什么在页面上调用它不起作用。
答案 0 :(得分:0)
这很奇怪。
你试过吗
#{chuckNorrisBean.roundHouseKick()}
而不是
#{chuckNorrisBean.roundHouseKick}
看看会发生什么