在新的浏览器选项卡中重新打开页面时,如何重置会话范围的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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档