我想在p:datatable中发送按下的命令链接的id,我将在新选项卡中打开一个新页面。
问题是发送的值是一个空字符串。
myPage.xhtml
<p:dataTable var="item" value="#{bean.myItems}">
<p:column>
<h:commandLink action="#{bean.open(id)}" value="#{item.id}" target="_blank">
<f:param name="id" value="#{item.id}" />
</h:commandLink>
</p:column>
</p:dataTable>
请注意,使用h:link一切都很好,没有问题
Bean.java
public String open(Item item){
//some query to find a specific data
//navigation to different pages according to result of queried data
}
NavigatedPageController.java
@PostConstruct
public void init(){
Map<String,String> params = FacesContext.getExternalContext().getRequestParameterMap();
String id = params.get("id");
//here id is an empty string instead if being the value passed
}