在新的浏览器选项卡中重新打开页面时,如何重置会话范围的Bean

竿

提交值后,一旦xhtml页面上的选项卡(primefaces)关闭,我将重新打开一个新选项卡,该选项卡选择旧值仍然存在的相同bean。我想使用默认值(后备Bean的新实例)打开一个新选项卡。

XHTML页面

<h:form>
    <p:layout style="min-width:400px;min-height:700px" >
        <p:layoutUnit position="west" style="min-width:200px;min-height:50px">

            <ui:include src="Menu.xhtml" />


        </p:layoutUnit>

        <p:layoutUnit  position="center" >
            <p style="text-align:center">Welcome</p>

            <p:tabView dynamic="false" widgetVar="tabView">
                <p:ajax event="tabClose" listener="#{requestCalculation.onTabClosed}"/>
                <c:forEach items="#{requestCalculation.formTabs}" var="listItem">
                    <p:tab title="#{listItem.formTitle}"  closable="true" >
                        <ui:include src="#{listItem.formPage}" />
                     </p:tab>
                </c:forEach>

            </p:tabView>
                <h:panelGrid columns="2">
                    <h:commandButton value="Calculate" action = "#{requestCalculation.calculate}"/>
                    <h:commandButton value="Reset" action = "#{requestCalculation.resetPage}"/>
                </h:panelGrid>
        </p:layoutUnit>

    </p:layout>

</h:form>


菜豆

公共字符串loadForm(TcsBase loadForm){

    id = loadForm.getId();

    ViewTabs tab = new ViewTabs();
    tab.setFormTitle("Form".concat(id));
    tab.setFormPage("Form".concat(id).concat(".xhtml"));
    formTabs.add(tab);  

    calcReq.getFormCollection().add(loadForm);

    System.out.println(loadForm.getId());
    return "Main";
}

public void onTabClosed(TabCloseEvent e){
    TabView tabView = (TabView) e.getComponent();
   int closingTabIndex = tabView.getChildren().indexOf(e.getTab());
   removeForm(closingTabIndex);

}

public void removeForm(int index){
    calcReq.getFormCollection().remove(index);
    formTabs.remove(index);

}

BalusC

由于Bean似乎包含视图范围的数据(只要在同一浏览器窗口/选项卡中进行回退,该视图范围就存在),则应使其成为@ViewScoped,而不是@SessionScoped这样,您也无需弄乱手动创建和销毁bean。只需将bean放在正确的范围内就可以了。

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

来自分类Dev

在新的浏览器选项卡中打开ResponseEntity PDF

来自分类Dev

Zkoss-在浏览器的新选项卡中打开URL

来自分类Dev

在MVC Web应用程序中,当关闭浏览器或选项卡而不注销时如何处理会话

来自分类Dev

如何从GridView在新选项卡中打开页面?

来自分类Dev

如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

来自分类Dev

当用户已经在同一浏览器的不同选项卡中登录时,如何停止在(asp.net Webforms)中打开登录页面

来自分类Dev

我如何从Origin选项卡获取新打开的浏览器选项卡名称?

来自分类Dev

新的“浏览器”选项卡或Windows中的HTML

来自分类Dev

当ReactJS中的浏览器选项卡关闭时,如何触发弹出窗口?

来自分类Dev

在Azure Portal中打开新的浏览器选项卡时出现403错误

来自分类Dev

如何在所有浏览器会话(选项卡)中重置Redux状态

来自分类Dev

如何在Flutter Web应用程序中重新加载浏览器选项卡

来自分类Dev

停止雅虎!打开谷歌浏览器时在第二个选项卡中打开

来自分类Dev

Unite.vim-如何从文件浏览器中的选项卡中打开文件

来自分类Dev

Xpages链接打开“新浏览器”选项卡

来自分类Dev

通过单击Java脚本中的按钮来打开新的浏览器选项卡

来自分类Dev

用户单击关闭选项卡时如何打开新窗口浏览器?

来自分类Dev

如何使用浏览器刷新中的选项卡维护页面状态

来自分类Dev

如何从GridView在新选项卡中打开页面?

来自分类Dev

如何从GridView在新选项卡中打开页面?

来自分类Dev

在AngularJS中,如何使用ng-click在iPad浏览器的新选项卡中打开下载pdf

来自分类Dev

单击HTML按钮时,在新的浏览器选项卡中打开URL

来自分类Dev

无法在浏览器中打开新选项卡。它在同一个选项卡中加载第二个 url

来自分类Dev

使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

来自分类Dev

无法使用 Selenium Webdriver 在浏览器中打开新选项卡

来自分类Dev

如何使用python在Web浏览器中打开选项卡

来自分类Dev

防止浏览器选项卡之间的会话共享

来自分类Dev

在 Firefox 浏览器中打开一个新选项卡并尝试向下滚动页面并单击链接失败

Related 相关文章

  1. 1

    Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

  2. 2

    在新的浏览器选项卡中打开ResponseEntity PDF

  3. 3

    Zkoss-在浏览器的新选项卡中打开URL

  4. 4

    在MVC Web应用程序中,当关闭浏览器或选项卡而不注销时如何处理会话

  5. 5

    如何从GridView在新选项卡中打开页面?

  6. 6

    如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

  7. 7

    当用户已经在同一浏览器的不同选项卡中登录时,如何停止在(asp.net Webforms)中打开登录页面

  8. 8

    我如何从Origin选项卡获取新打开的浏览器选项卡名称?

  9. 9

    新的“浏览器”选项卡或Windows中的HTML

  10. 10

    当ReactJS中的浏览器选项卡关闭时,如何触发弹出窗口?

  11. 11

    在Azure Portal中打开新的浏览器选项卡时出现403错误

  12. 12

    如何在所有浏览器会话(选项卡)中重置Redux状态

  13. 13

    如何在Flutter Web应用程序中重新加载浏览器选项卡

  14. 14

    停止雅虎!打开谷歌浏览器时在第二个选项卡中打开

  15. 15

    Unite.vim-如何从文件浏览器中的选项卡中打开文件

  16. 16

    Xpages链接打开“新浏览器”选项卡

  17. 17

    通过单击Java脚本中的按钮来打开新的浏览器选项卡

  18. 18

    用户单击关闭选项卡时如何打开新窗口浏览器?

  19. 19

    如何使用浏览器刷新中的选项卡维护页面状态

  20. 20

    如何从GridView在新选项卡中打开页面?

  21. 21

    如何从GridView在新选项卡中打开页面?

  22. 22

    在AngularJS中,如何使用ng-click在iPad浏览器的新选项卡中打开下载pdf

  23. 23

    单击HTML按钮时,在新的浏览器选项卡中打开URL

  24. 24

    无法在浏览器中打开新选项卡。它在同一个选项卡中加载第二个 url

  25. 25

    使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

  26. 26

    无法使用 Selenium Webdriver 在浏览器中打开新选项卡

  27. 27

    如何使用python在Web浏览器中打开选项卡

  28. 28

    防止浏览器选项卡之间的会话共享

  29. 29

    在 Firefox 浏览器中打开一个新选项卡并尝试向下滚动页面并单击链接失败

热门标签

归档