当我向列表添加URL,然后使用ajax时,我尝试在某些iframe中显示列表的内容,页面重新加载自身

我正在制作一个仪表板,它的小工具是我要在iframe中显示的不同页面的链接。 我有一个按钮可以将新小工具添加到仪表板,添加新小工具后,我刷新仪表板。 对于3个第一个小工具,应用程序中没有问题,并且它完美地运行。 但是,当我想添加第4个小工具时,ajax调用无效,页面开始重新加载。 重新加载页面后,我可以再次添加一个新的小工具,它可以工作,但下次它再次停止工作,并刷新页面。 我无法理解问题所在。 顺便说一句,当我删除iframe并且我自己打印链接时,程序运行没有任何问题。 这是我的代码:

 

可能是您要嵌入第4个小面板中的内容需要花费太多时间来加载的问题。 除此之外,在您的示例中,您更新整个表单(不知道您是否打算这样做),因此JSF再次呈现整个表单,并且浏览器必须恢复前三个小面板加上第四个一。

无论如何,这个小测试用例适用于Mojarra JSF 2.2.7和Primefaces 5:

              
 @ManagedBean @ViewScoped public class DashboardManager { private static final String url = "http://www.w3schools.com"; public class Dashlet { private String restUrl; public Dashlet(String url) { restUrl = url; } public String getRestUrl() { return restUrl; } } public DashboardManager() { dashlets.add(new Dashlet(url)); dashlets.add(new Dashlet(url)); } public List dashlets = new ArrayList(); public List getDashlets() { return dashlets; } public void addDashlet() { dashlets.add(new Dashlet(url)); } } 

在这里,您可以看到将一组动态object标记渲染到您的电路板中没有问题。