【发布时间】:2016-06-26 23:14:48
【问题描述】:
我正在使用 Primefaces 5.0 和 JSF 2.0。
你好我有一个定义如下:
<p:dataTable id="activePackagesBeanTable"
value="#{packageManagerLocal_GetAllPackages.reviewList}"
var="activePkg"
selection="#{packageManagerLocal_GetAllPackages.selectedPackages}"
rowKey="#{activePkg.hashCode()}">
<p:ajax event="rowSelectCheckbox" update=":mainPanel:delegateButtonForm" />
<p:ajax event="rowUnselectCheckbox" update=":mainPanel:delegateButtonForm" />
<p:ajax event="toggleSelect" update=":mainPanel:delegateButtonForm" />
<p:column selectionMode="multiple" style="width:16px;text-align:center"/>
</p:dataTable>
以及在该选择列表上执行操作的 a,其定义如下:
<p:commandButton id="delegateDoAction1" styleClass="button_blue"
type="submit" ajax="false" immediate="true" value="Delegate"
action="#{packageManagerLocal_GetAllPackages.reassign}"
title="#{hints_bundle['button.package.reassign']}"
execute="activePackagesBeanTable">
</p:commandButton>
在 backing bean 内部,我有如下定义的函数 reassion()。
List<MyObject> selectedPackages;
// Getters and setters for selectedPackages
.....
public String reassign() {
String method = "reassign";
logger.entering(this.getClass().getName(), method);
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("packageList", getSelectedPackages());
logger.entering(this.getClass().getName(), method, "SWITCH");
return "reassign";
}
但是,当我使用 Eclipse 进行调试时,我的 getter 为 selectedPackages 返回了一个空值?这是为什么?我做错了什么?
【问题讨论】:
-
我已将 selectedPackages 值从 List 更改为常规数组,但我仍然得到它为 null。
-
下一次,请创建一个minimal reproducible example....您发布的代码没有说明您发布的解决方案,因此我们永远无法告知和/或帮助。
标签: jsf-2 primefaces datatable