Context Menu and output link
patrickmadden Oct 16, 2008 4:31 PMHi, I've recently upgraded to 3.2.2.GA and now context menu's containing output links don't seem to work when they did before. I got the following errror:
Caused by: javax.faces.FacesException: Context menu cannot be attached to the component with id = j_id250, because a client identifier of the component won't be rendered onto the page. Please, set the identifier.
I started searching and saw that I should use the component control way of showing the menu. I changed my xhtml to the following:
<rich:contextMenu id="mozillaDocumentMenu" attached="false" submitMode="none">
<rich:menuItem submitMode="node" id="editDocumentID">
<h:outputLink value="#{editUrl}" title="#{editUrl} target="_blank" style="font-weight:bold">
<h:outputText value="Open File #{title}" />
</h:outputLink>
</rich:menuItem>
<rich:menuItem submitMode="none" id="openContainingFolderID">
<h:outputLink value="#{folderUrl}" target="_blank">
<h:outputText value="Open Containing Folder"/>
</h:outputLink>
</rich:menuItem>
<rich:menuItem submitMode="none" id="printDocumentID">
<h:outputLink value="#{printUrl}" target="_blank">
<h:outputText value="Print"/>
</h:outputLink>
</rich:menuItem>
</rich:contextMenu>
and here is a snippet where I define my menu:
<h:outputLink id="documentLinkID" style="font-weight:bold" title="#{result.uncPathForMozilla}" value="#">
<rich:componentControl event="onclick" attachTo="documentLinkID" for="mozillaDocumentMenu" operation="show">
<f:param name="title" value="#{result.title}"/>
<f:param name="editUrl" value="#{cloosterRequestBean.jarHttpProtocolURL}securescripts/mozillaEditFile.html?uncPath=#{result.uncPathForMozilla}" />
<f:param name="folderUrl" value="#{cloosterRequestBean.jarHttpProtocolURL}securescripts/mozillaEditFile.html?uncPath=#{result.uncLocationForMozilla}" />
<f:param name="printUrl" value="#{cloosterRequestBean.jarHttpProtocolURL}securescripts/mozillaPrintFile.html?uncPath=#{result.uncPathForMozilla}" />
</rich:componentControl>
<h:outputText value="#{result.title}" />
</h:outputLink>The menu is shown correctly however nothing happens when I click any of the three menu's. I know the URL's are correct. They look a bit strange but they are calling into a Mozilla FireFox Addon using the Jar Protocol as my scripts have to be signed.
Regardless, is this related to:
https://jira.jboss.org/jira/browse/RF-2102
Any help is greatly appreciated.
Thanks,
PVM