p:menuitem 中的 target="_blank" 无法打开新标签页
target="_blank" in p:menuitem doesn't open new tab
我正在使用 primefaces 5.1、liferay 6.2.0-ga2 和 JSF2。我有一个带按钮的页面。当我按下右键单击时,会显示一个包含一个菜单项的上下文菜单。该菜单项必须打开一个新选项卡,但它没有。
<p:commandButton id="viewUnassignedCase"
action="application-container" styleClass="icon fa fa-eye">
<f:setPropertyActionListener
target="#{applicationManagementBean.application}"
value="#{unassignedCase}" />
<f:setPropertyActionListener
target="#{applicationManagementBean.activeIndexTab}" value="0" />
</p:commandButton>
<p:contextMenu for="viewUnassignedCase" id="tableMenu"
widgetVar="tableMenu">
<p:menuitem value="#{caseList['caseManagement.case.newtab']}"
target="_blank"
action="#{applicationManagementBean.openNewTabDetail(unassignedCase)}">
</p:menuitem>
</p:contextMenu>
和豆子
public String openNewTabDetail(final FlexibleDomain application)
{
setApplication(application);
return "application-container";
}
我该如何解决?
此行为在 Primefaces's GoogleCode 上存在标记为 "Won'tFix" 的问题(p:menuItem 未使用操作打开新的 window)。
在您的情况下,您需要将基于操作的导航调整为基于 url 的导航。
我真的不知道如何让它在你的项目中发挥作用,但我最好的选择是尝试这样的事情:
<p:contextMenu for="viewUnassignedCase" id="tableMenu"
widgetVar="tableMenu">
<p:menuitem value="#{caseList['caseManagement.case.newtab']}"
target="_blank"
url="www.yoururl.com/yourdesiredpath">
</p:menuitem>
</p:contextMenu>
在最坏的情况下,您应该尝试覆盖 Primefaces 的 p:menuitem 默认行为,或者尝试使用支持此类实现的其他组件。
祝你好运!
我正在使用 primefaces 5.1、liferay 6.2.0-ga2 和 JSF2。我有一个带按钮的页面。当我按下右键单击时,会显示一个包含一个菜单项的上下文菜单。该菜单项必须打开一个新选项卡,但它没有。
<p:commandButton id="viewUnassignedCase"
action="application-container" styleClass="icon fa fa-eye">
<f:setPropertyActionListener
target="#{applicationManagementBean.application}"
value="#{unassignedCase}" />
<f:setPropertyActionListener
target="#{applicationManagementBean.activeIndexTab}" value="0" />
</p:commandButton>
<p:contextMenu for="viewUnassignedCase" id="tableMenu"
widgetVar="tableMenu">
<p:menuitem value="#{caseList['caseManagement.case.newtab']}"
target="_blank"
action="#{applicationManagementBean.openNewTabDetail(unassignedCase)}">
</p:menuitem>
</p:contextMenu>
和豆子
public String openNewTabDetail(final FlexibleDomain application)
{
setApplication(application);
return "application-container";
}
我该如何解决?
此行为在 Primefaces's GoogleCode 上存在标记为 "Won'tFix" 的问题(p:menuItem 未使用操作打开新的 window)。
在您的情况下,您需要将基于操作的导航调整为基于 url 的导航。
我真的不知道如何让它在你的项目中发挥作用,但我最好的选择是尝试这样的事情:
<p:contextMenu for="viewUnassignedCase" id="tableMenu"
widgetVar="tableMenu">
<p:menuitem value="#{caseList['caseManagement.case.newtab']}"
target="_blank"
url="www.yoururl.com/yourdesiredpath">
</p:menuitem>
</p:contextMenu>
在最坏的情况下,您应该尝试覆盖 Primefaces 的 p:menuitem 默认行为,或者尝试使用支持此类实现的其他组件。
祝你好运!