JSF-rich:componentControl和a4j:jsFunction重定向问题

JSF-rich:componentControl和a4j:jsFunction重定向问题,jsf,redirect,richfaces,ajax4jsf,Jsf,Redirect,Richfaces,Ajax4jsf,我有两个问题。首先,我不知道如何使用rich:componentControl,我使用了一个旧代码和这个网站:但是无论我怎么做,我仍然有这个错误: javax.servlet.ServletException:/admin.xhtml@191,30父对象不是ClientBehaviorHolder的实例:javax.faces.component.html。HtmlOutputText@1ee71d84 javax.faces.webapp.FacesServlet.serviceFacesSe

我有两个问题。首先,我不知道如何使用rich:componentControl,我使用了一个旧代码和这个网站:但是无论我怎么做,我仍然有这个错误:

javax.servlet.ServletException:/admin.xhtml@191,30父对象不是ClientBehaviorHolder的实例:javax.faces.component.html。HtmlOutputText@1ee71d84 javax.faces.webapp.FacesServlet.serviceFacesServlet.java:521 java:20

这是我的代码:

<rich:column>
  <h:outputText value="#{msg.la8}" id="actionId" >
    <rich:componentControl event="onmouseover" target="menu" operation="show" />
  </h:outputText>
  <rich:contextMenu id="menu" mode="client">
    <rich:menuItem label="#{msg.ll8}" onclick="functionEdit();" icon="/images/edit16.png" />
    <rich:menuItem label="#{msg.ll9}" onclick="functionSuppr();" icon="/images/supprimer16.png" />
  </rich:contextMenu>
  <a4j:jsFunction name="functionEdit" action="#{administrateurBean.editAdministrateur()}" >
    <a4j:param value="#{administrateur.idadministrateur}" name="idadministrateur" />
  </a4j:jsFunction>
  <a4j:jsFunction name="functionSuppr" action="#{administrateurBean.deleteAdministrateur()}">
    <a4j:param value="#{administrateur.idadministrateur}" name="idadministrateur" />
  </a4j:jsFunction>
</rich:column>
我的目标是在h:outputText为onmouseover时显示rich:contextMenu,并且需要rich:componentControl,因为onmouseover属性不适用于rich:contextMenu根据以下网站:

您还可以看到,我没有直接使用Bean方法,而是将它们放在a4j:jsf函数中。这是因为action属性不适用于rich:menuItem根据该网站:【哦,不……我不能给这个……我以为你要求给我自己搜索的最大值,但显然你不太想要它……】 所以我使用了他的解决方案,但是faces配置的重定向不起作用

面配置:

<navigation-rule>
  <display-name>admin.xhtml</display-name>
  <from-view-id>/admin.xhtml</from-view-id>
  <navigation-case>
    <from-action>#{administrateurBean.editAdministrateur}</from-action>
    <from-outcome>edit</from-outcome>
    <to-view-id>/editAdministrateur.xhtml</to-view-id>
    <redirect/>
  </navigation-case>
  <navigation-case>
    <from-action>#{administrateurBean.deleteAdministrateur}</from-action>
    <from-outcome>list</from-outcome>
    <to-view-id>/admin.xhtml</to-view-id>
    <redirect/>
  </navigation-case>
</navigation-rule>
如果有人想办法解决我的一个或两个问题,欢迎你

谢谢,
昆廷

因为错误消息说h:outputText不是行为保持器组件,特别是该组件不会触发“mouseover”事件

请参阅文档:

您可以使用例如h:outputLabel来代替。请注意,事件名称是mouseover


我没有发布的网站:谢谢,我接受这个例子,因为我真的不知道我错了
  <h:outputLabel value="#{msg.la8}" id="actionId">
    <rich:componentControl event="mouseover" target="menu" operation="show"/>
  </h:outputLabel>
   <h:outputLabel value="#{msg.la8}" id="actionId"
                  onmouseover="${rich:component('menu')}.show()"/>