如何通过按下按钮刷新ADF jsf页面组件?

如何通过按下按钮刷新ADF jsf页面组件?,jsf,oracle-adf,Jsf,Oracle Adf,我有一个fusion web应用程序,它包含一个相互关联的af:query面板(我用table创建了它的query面板),以及af:table和af:panelFormLayout。在查询面板中搜索条目时,结果将显示在表和panelFormLayout中。当我按下查询面板中的重置按钮时,仅重置查询面板。我想重新设置所有页面。如何使用ADF的易用性实现这一点?基本上,您希望覆盖af:query的重置功能。在这种情况下,您应该: 1.将af:query的QueryListener属性设置为托管bea

我有一个fusion web应用程序,它包含一个相互关联的af:query面板(我用table创建了它的query面板),以及af:table和af:panelFormLayout。在查询面板中搜索条目时,结果将显示在表和panelFormLayout中。当我按下查询面板中的重置按钮时,仅重置查询面板。我想重新设置所有页面。如何使用ADF的易用性实现这一点?

基本上,您希望覆盖af:query的重置功能。在这种情况下,您应该:
1.将af:query的QueryListener属性设置为托管bean方法。您可以参考此示例,该示例描述了所需的所有步骤: 在它里面,您将看到以下调用:
AdfFacesContext.getCurrentInstance().addPartialTarget(t1)
它负责刷新表。现在,例如,如果您在af:panelGroupLayout(或任何其他支付类型组件)中拥有所有内容,您可以将其刷新(因此您需要将其与bean上的字段绑定,并在此调用中使用它而不是t1。否则,如果您仍然希望刷新整个页面,请执行步骤2


2.添加所需代码以刷新页面:

    FacesContext context = FacesContext.getCurrentInstance();
    String currentView = context.getViewRoot().getViewId();
    ViewHandler vh = context.getApplication().getViewHandler();
    UIViewRoot x = vh.createView(context, currentView);
    x.setViewId(currentView);
    context.setViewRoot(x);
只需将它放在上面链接中描述的方法中。

我如何在11g中访问jsf页面的支持bean源代码?这一点没有改变,通过这样的EL:
我的意思是,我在哪里可以找到我的jsf页面的java源代码,然后我可以添加我自己的代码和更改方法?读到这样一个问题我很惊讶。你是如何使用ADF的,甚至不知道这样的事情?我正在编辑我的回复发布一张图片,说明我认为你在寻找什么。因为我没有在图片中寻找信息,当然我已经知道了。你的回答在没有图片的情况下对我有帮助,谢谢