2010-06-30 73 views
2

我有数据表,它是从数据库中提取信息。我在表单中添加了一个按钮,用于强制刷新表格(id为“table”),但我不知道如何去做。我现在拥有的是:如何在JSF 2.0中强制通过AJAX刷新数据表?

<h:commandButton value="Refresh"> 
    <f:ajax render="table"/> 
</h:commandButton> 

我的目标是在点击按钮时强制渲染表格组件。但是,似乎无论是点击被忽略,还是返回缓存的数据,而不是实际出去并再次调用我的数据库代码。

我在做什么错?

回答

0

呃。它实际上工作,只是非常痛苦地慢。我们最近更换了数据库服务器,而旧版本的查询只花费了不到一秒的时间,而刚刚花费了20多秒。我只是在观看时才超时。叹。

作为一个方面说明,只要我想出来,我测试了无论有没有行动。以两种方式工作(使用getter进行查找)。

1

你必须在你的commandButton中指定一个动作,它调用一个bean并刷新表中显示的数据(当前按钮什么也不做)。 我不是专业人士,但我认为它应该看起来像这样:

<h:commandButton value="Refresh" action="#{myBean.refreshData}"> 
    <f:ajax render="table"/> 
</h:commandButton> 
+0

我也试过。 bean方法确实被调用,但表从不更新。在我的情况下,没有特别需要调用某个方法,因为表引用数据库查找的getter(我当前没有缓存在对象中)。 – 2010-07-01 12:04:26