【发布时间】:2012-05-03 19:57:58
【问题描述】:
在我的设置中,我有一个@Named Bean,ObWithDate 类是一个带有日期字段validFrom 的@Entity。此类的对象位于 bean 的 List<ObWithDate> 中。如果用户更改日期,我想立即更新ObWithDate。 p:dataTable 因此显示了几个 p:calendar 组件:
<h:form id="fUser">
<p:dataTable id="dt" var="i" value="#{myBean.list}">
<p:column>
<p:calendar id="cValidFrom" value="#{i.validFrom}">
<p:ajax event="dateSelect" listener="#{myBean.up}" update=":fUser:dt"/>
</p:calendar>
</p:column>
</p:dataTable>
</h:form>
bean的代码:
public void up(DateSelectEvent event)
{
logger.info("DateSelectEvent "+event.getDate());
// How to get the corresponding ObWithDate?
}
这是Primefaces p:calendar with p:ajax value not updated (one step delay)的后续问题,但现在针对具体问题:如何在bean方法内部的ajax调用中获取相应的列表项?
【问题讨论】:
-
它可能是方向(可能不是:))类似 UIComponent ui = (UIComponent) event.getSource(); ui.getParent().findComponent( .... 放置一个断点并在eclipse的“watch”中尝试一些...
-
@Daniel 请将此添加为答案,至少这是一种解决方法
标签: java ajax jsf-2 primefaces