JSF-rich:componentControl和a4j:jsFunction重定向问题
我有两个问题。首先,我不知道如何使用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 这是我的代码: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: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()"/>