这是我<h:selectOneMenu>
的代码。
我试图在支持bean execdirectorRC =“XXXvalue”中分配值后,从辅助bean更新其值。
在这里,executivedirectorslist
确实有一个列表值。
以下是
形式的代码<h:form id="ipdpform">
<h:selectOneMenu id="exedirectors" value="#{Bean.execdirectorRC}">
<f:selectItems value="#{Bean.executivedirectorslist}"
var="s" itemLabel="#{s.label}" itemValue="#{s.value}" />
<p:ajax listener="#{Bean.getDirectReporters}"
update="rpt2 :growl :error" execute="@this"
partialSubmit="true" />
<f:param name="rpt1" value="rpt1" />
</h:selectOneMenu>
</h:form >
这是我试图用来替代支持bean的值的代码
RequestContext context = RequestContext.getCurrentInstance();
execdirectorRC = "XXX,Name";
context.update("ipdpform:exedirectors");
我的问题是值{XXX,Name'未在<h:selectOneMenu>.
中显示,Bean.executivedirectorslist
中的值已经可用。如何从支持bean更新它?
答案 0 :(得分:0)
您可以使用如下的静态实用程序功能。
public static void addWillBeUpdatedComponent(final String componentId) {
FacesContext.getCurrentInstance().getPartialViewContext()
.getRenderIds().add(componentId);
}
public static void removeWillBeUpdatedComponent(final String componentId) {
FacesContext.getCurrentInstance().getPartialViewContext()
.getRenderIds().remove(componentId);
}
componentId
必须采用此格式form:componentId
而非:form:componentId
。