【发布时间】:2012-08-08 18:12:49
【问题描述】:
我有以下设置:
testBean.java 带有一个方法
public String getResult(),它返回"success"-
test.xhtml 与
<h:commandLink action="#{testBean.result}" value="testlink" /> -
faces-config.xml中的以下导航规则:
<navigation-rule> <from-view-id>/views/test.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/views/nextpage.xhtml</to-view-id> <redirect /> </navigation-case>
我通过简单地将“成功”直接放入操作属性(作品)来检查导航是否正常工作。此外,将testBean.result 打印为 outputText 正确显示“成功”。
但是,当我点击链接时,我得到一个“服务器内部错误”,并且只允许重新加载页面。日志显示带有以下文本的 javax.el.MethodNotFoundException:
Method not found: com.company.project.view.TestBean@81de8.result()
我对神秘的@81de8 的来源感到困惑。这是问题的原因,只是其他地方不匹配的症状还是一些完全正常的幕后魔术?谁能弄清楚为什么 commandLink 中的调用失败,而在 outputText 中却没有?或者指出我应该检查和测试的其他事项?
提前致谢, 路易丝
编辑:Java 方法名为 getResult(不是结果),错误代码指向方法结果(不是字符串)。这些是写问题时的错误,是在一天漫长的工作结束后提出的;)对不起。
【问题讨论】:
标签: jsf navigation facelets