Steps to reproduce:
1) Add the following markup to portletViewMode.xhtml in the jsf-applicant-portlet:
2) Change the servlet-mapping url-pattern from *.xhtml to *.jsf.
3) Deploy the portlet and navigate to it in the browser.
If the bug still exists, then the the javax.faces.resource parameter will equal clipboard (javax.faces.resource=clipboard). If the bug is fixed, the javax.faces.resource parameter will equal clipboard.xhtml (javax.faces.resource=clipboard.xhtml).
This bug is due to the fact that ResourceImpl.getRequestPath() strips off extensions, but does not break after stripping the first extension. One possible fix would be to break after any extension is removed. However, there may be another related issue: .xhtml might always be stripped off if the servlet-mapping is *.xhtml . Before fixing this issue, it might be worth testing that by repeating the steps to reproduce while skipping step 2.