【发布时间】:2015-02-24 10:24:45
【问题描述】:
我有一个由托管 bean @RequestScoped 'A' 支持的对话框。我正在从另一个 bean 'B' 和 @RequestScoped 调用对话框。所以我使用@ManagedProperty 从'B' 调用'A'。我已经设置了来自'B' 的'A' 的值(对象、变量等)用于显示,这将取决于'B' 的对象。所有值都设置正确,但是当对话框打开时,我为'A' 设置的值不会显示。
如何实现这个目标??
我的意思是调用一个由一个 bean 支持的对话框并从另一个 bean 设置支持的 bean 的值??
我使用了p:dataTable 行上的按钮:
<p:column headerText="Actions">
<p:commandButton icon="ui-icon-search" title="View"
process="@this"
oncomplete="receiptViewWidget.show()"
action="#{receiptRepoMB.forReceiptDialog}">
<f:setPropertyActionListener
target="#{receiptRepoMB.receiptDetObj}" value="#{rd}" />
</p:commandButton>
</p:column>
显示对话框但不显示值。
'B' 的代码 sn-p:
@ManagedProperty(value = "#{receiptMB}")
private ReceiptMB receiptMB;
public ReceiptMB getReceiptMB() {
return receiptMB;
}
public void setReceiptMB(ReceiptMB receiptMB) {
this.receiptMB = receiptMB;
}
public void forReceiptDialog(){
ReceiptModel receiptObj = receiptDetObj.getReceiptModel();
receiptMB.setReceiptSummary(receiptObj);
}
【问题讨论】:
-
不要忘记为每个属性添加获取和设置。发布您的 java 代码。
-
好的,我正在发布代码。
标签: jsf primefaces managed-bean