我试图使用primefaces从dataTable打开一个新窗口。我尝试了不同的选项:
H:commandLink
<h:form id="form" target="_blank">
<p:dataTable id="Table" var="var_row" value="#{bean.table}" sortBy="tableId" >
<p:column>
<h:commandLink action="#{bean.goToPage}" value="Open Page"
onblur="this.form.target='_self'">
<f:setPropertyActionListener value="#{var_row}" target="#{bean.rowSelected}" />
</h:commandLink>
</p:column>
</p:dataTable>
</h:form>
2.P:commandLInk
<h:form id="form" target="_blank">
<p:dataTable id="Table" var="var_row" value="#{bean.table}" sortBy="tableId" >
<p:column>
<p:commandLink action="#{bean.goToPage}" value="Open Page"
onblur="this.form.target='_self'"
process="@this" ajax="false" target="_blank">
<f:setPropertyActionListener value="#{var_row}" target="#{bean.rowSelected}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
它有效,但不正确。我的意思是,我打开了新页面,但原始页面变得无用,点击它们时不会调用此页面中的所有方法。
之前有没有人尝试过这个?有什么想法解决这个问题吗?
答案 0 :(得分:0)
我试过了,但仍然无法获得“命令链接”。在使用&#39; setPropertyActionListener&#39;同时在新窗口中打开。我认为你必须修改底层的Primefaces javascript才能在新窗口中打开(我没试过)。
您可以尝试传递参数参数。