У меня есть таблица 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="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>
метод действия:
public void rescheduleJob(QrtzTriggers qrtztrigger){
CronTrigger trigger;
try {
trigger = // boring trigger creation omitted
this.controller.getScheduler().rescheduleJob(); //boring reschedule omitted
this.entityManager.merge(qrtztrigger); //this didn't help any
} catch (ParseException e) {
log.error("cron expression incorrect " + e);
} catch (SchedulerException e) {
log.error("scheduler no likey " + e);
}
}
Когда пользователь редактирует inplaceInput с новымВ cronExpression столбец «Next Fire» должен быть обновлен с новым временем срабатывания.Это происходит в базе данных, но пользовательский интерфейс не обновляется, пока я физически не обновлю страницу.У меня была эта проблема раньше, и мое лучшее решение заключается в использовании JavaScript для обновления страницы для меня - но это не должно быть необходимым.Итак, как мне получить данные для обновления без фактического обновления страницы моего браузера?
Seam 2.2 Richfaces 3.3.1, JSF 1.2, JBoss 5.1