我是JSF,facelet,richfaces的新手...... 我理解托管bean,JSF组件中调用的方法 但是,我想使用带有ui:composition,ui:define的facelets模板,就像asp.net中的母版页一样
但我有一个意图在主页组件中调用的操作......我一直有同样的错误:
javax.servlet.ServletException: #{connectionMB.logOut}: javax.el.MethodNotFoundException: /masterPage.html @134,65 action="#{connectionMB.logOut}": Method not found: ConnectionBean
因为该组件位于模板页面masterPage.html:
<jsf:commandLink id="link" action="#{connectionMB.logOut}" >Log Out</jsf:commandLink>
并且用户操作来自以:
开头的其他html页面
页面被视为服务器端,apache将masterPages元素与其他页面的内容混合在一起... 但是我应该如何对任何页面的组件的masterPage工作进行调用?
在我的faces-config中,我尝试了很多东西:
<navigation-rule>
<from-view-id>/MySiteName/*</from-view-id>
<navigation-case>
<from-action>#{connectionMB.logOut}</from-action>
或
<from-view-id>*</from-view-id>
或
<from-view-id>/masterPage.html</from-view-id>
这一切都不起作用......
如果有人得到了线索...... 非常感谢你!
答案 0 :(得分:1)
您的问题(目前)不在导航案例中。对于他们 - 您可以完全省略<from-view-id>
。
问题是您的ConnectionBean
没有public String logOut()
方法(也可能是void
)。
答案 1 :(得分:0)