在一个div中,我放置了一个带有两个输入文本和一个按钮的表单。当用户单击该按钮时,将调用createProject.register
方法,并将文本字段的值保存到数据库表中。
<h:outputText id="opt" value="#{createProject.register}"></h:outputText>
<h:commandButton value="Add URL">
<f:ajax execute="@form" event="click" render="@form dt" listener="#{prTable.refresh}"></f:ajax>
</h:commandButton>
在div下面,有一个ID为dt的数据。为了刷新表格中的数据,我已将listener="#{prTable.refresh}"
添加到f:ajax
块。 PrTable类中的refresh方法更新了URL的arralylist。数据表显示URL列表。
问题:当我第一次单击该按钮时,表格不会刷新。但是,当我第二次单击该按钮时,数据表会刷新。该表不会在输入文本字段中显示当前值,但会显示最后一次按钮单击时保存的值。
如何解决这个问题?
答案 0 :(得分:0)
我没有使用两个不同的Beans作为表和表单,而是使用了一个bean。在保存数据的函数结束时,我调用了更新ArrayList的函数。我还从表单中删除了outputtext和listener。这解决了我的问题。