Jsf rich:inplaceInput编辑文本,刷新组件
我有一个rich:dataTable,它包含一个rich:inplaceInput组件和几个列Jsf rich:inplaceInput编辑文本,刷新组件,jsf,richfaces,seam,Jsf,Richfaces,Seam,我有一个rich:dataTable,它包含一个rich:inplaceInput组件和几个列 <h:column> <f:facet name="header">Next Fire</f:facet> <h:outputText value="#{_quartzJobDetails.qrtzTriggerses.nextFireTime}" > <s:convertDateTime type="both" dateStyle
<h:column>
<f:facet name="header">Next Fire</f:facet>
<h:outputText value="#{_quartzJobDetails.qrtzTriggerses.nextFireTime}" >
<s:convertDateTime type="both" dateStyle="short"/>
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">Cron Expression</f:facet>
<rich:inplaceInput layout="block" value="#{_quartzJobDetails.qrtzTriggerses.qrtzCronTriggers.cronExpression}"
id="inplaceInput"
selectOnEdit="true"
editEvent="ondblclick">
<a:support event="onviewactivated" reRender="quartzJb" bypassUpdates="false"
action="#{quartzAction.rescheduleJob(_quartzJobDetails.qrtzTriggerses)}"/>
</rich:inplaceInput>
</h:column>
当用户使用新的cronExpression编辑inplaceInput时,“Next Fire”列应更新为新的启动时间。这在数据库中发生,但除非我实际刷新页面,否则UI不会更新。我以前也遇到过这个问题,我的最佳解决方案是使用JavaScript刷新页面,但这应该不是必需的。那么,如何在不刷新浏览器页面的情况下更新数据呢?Seam 2.2 Richfaces 3.3.1、JSF 1.2、JBoss 5.1是
quartzJb
要重新提交的表的id吗?如果没有,只需将要重新提交的表的id添加到支持标签:
<a:support event="onviewactivated" reRender="quartzJb,jobTableId" ...
Thanx mbockus,但是是的,quartzJb是表id。下一次是否在您的操作方法中实际更新?我将尝试在getNextFireTime()方法上设置断点,以查看在重新提交数据表时是否调用了该方法。这可能会给你一些线索,说明为什么它没有返回正确的值。
<a:support event="onviewactivated" reRender="quartzJb,jobTableId" ...