问题:
我有一个看起来像这样的MenuItem组件 - <p:menuitem value="Documents" outcome="/portal/admin/documents.xhtml" />
- 但它会呈现如下标记 - <a href="documents.xhtml">
详情:
这里有两个XHTML页面。第一个是/portal/index.xhtml
的index.xhtml,第二个是/portal/home/admin-widget.xhtml
的admin-widget.xhtml。
index.xhtml的相关部分:
<ui:fragment rendered="...">
<div class="...">
<p:panel styleClass="...">
<f:facet name="header">
<h:outputText value="Administration" />
</f:facet>
<ui:include src="/portal/home/admin-widget.xhtml" />
</p:panel>
</div>
</ui:fragment>
admin-widget.xhtml的相关部分:
<h:form style="...">
<ui:fragment rendered="...">
<p:menu style="...">
<p:submenu label="Administration Links">
<p:menuitem value="Documents" outcome="/portal/admin/documents.xhtml" />
</p:submenu>
</p:menu>
<h:link value="Documents" outcome="/portal/admin/documents.xhtml" />
</ui:fragment>
</h:form>
<h:link>
下面的<p:menu>
只是一个测试,以便查看问题是否与<p:menuitem>
一致。但是,<h:link>
也会呈现错误。
最有趣的是,当我查看index.xhtml页面时,链接不正确,但如果我直接查看admin-widget.xhtml页面,则链接是正确的。所以它必须与我如何插入页面有关,但我不确定我做错了什么。
我正在使用PrimeFaces 5.3和JSF 2.0。