当前位置: 首页 > 知识库问答 >
问题:

如何使用Ajax a4j重新呈现panel group:support

向安福
2023-03-14

让我先说我显然对ajax / jsf非常陌生,所以请原谅我。首先,我一直在阅读一些丰富的面孔文档,但仍然不清楚“渲染”和“重新渲染”之间的区别。

我试图实现的是一个具有两个“区域”的页面,默认情况下这些“区域”是隐藏的/不呈现的。当用户选择

这是我的代码。

<h:outputLabel for="saveNote" value="Create Note "/>            
<h:selectBooleanCheckbox id="saveNote" value="#{noteController.saveNote}" immediate="true" >            
    <a4j:support event="onchange" reRender="noteArea"/>                         
</h:selectBooleanCheckbox>
<h:outputLabel for="sendEmail" value="Send Email "/>    
<h:selectBooleanCheckbox id="sendEmail" value="#{noteController.sendEmail}" immediate="true">
    <a4j:support event="onchange" reRender="emailArea"/>                                                        
</h:selectBooleanCheckbox>

它嵌套在

我试图控制渲染的“区域”如下。。。

<h:panelGroup id="noteArea" rendered="#{noteController.saveNote}" layout="block"> 

这也嵌套在与

请帮帮我,ajax快把我逼疯了!

非常感谢!!!!


共有1个答案

楚宪
2023-03-14

reRender属性将在回发时呈现许多客户端ID。这应该是客户端ID,而不是noteArea服务器ID。

除非在 h:form 元素中将前置 id 指定为假,否则表单 ID 将在表单中的面板组 ID 之前,以使客户端 ID 成为唯一的客户端 ID。

form1:noteArea

另外,我不认为你想在复选框上立即设置为true。

 类似资料:
  • 在基于多个用户上下文呈现整个页面并发出多个请求之后,我希望用户能够切换上下文并再次重新呈现所有内容(重新发送所有请求,等等)。如果我只是将用户重定向到其他地方,事情就会正常工作: 如果使用,则上等待响应的某些请求将被取消,因此我不能使用它。此外,黑客也不起作用(什么也不会发生)。 有没有另一种方法可以重新呈现页面,而不用再次手动发出所有请求?

  • 问题内容: 与ListView不同,我们可以更新this.state.datasource。是否有任何方法或示例更新FlatList或重新呈现它? 我的目标是在用户按下按钮时更新文本值。 问题答案: 使用FlatList组件上的属性。 如文档所述: 通过传递给我们,确保更改时将重新呈现自己。如果不设置此道具,就不会知道它需要重新渲染任何项目,因为它也是a ,并且道具比较不会显示任何更改。

  • 但我的问题是我如何强制上面的功能组件重新呈现立即与钩子?

  • 我从这里修改了以下组件定义,如下所示。但是,与示例不同的是,每次在组件上移动鼠标时,组件都会重新呈现。 重新渲染非常引人注目: 有人知道为什么会这样吗?

  • 我正在使用React构建一个web应用程序,它将在用户每次单击按钮时显示不同的报价。我一直在寻找一种方法,让组件在单击按钮时重新呈现/刷新,我尝试了本文中介绍的所有可能性,但都没有成功。 即使创建运行或的单独函数,并使用调用该函数,也不起作用;我想我一定是执行错了什么。有没有人知道我的错误在哪里?