如何停止JSF1.2以停止重新加载同一页面

问题描述 投票:0回答:1

我正在使用JSF1.2

我们将打开两个选项卡1和选项卡2,直到所有选项卡都提交后才关闭会话。

这是我正在尝试的-

  • 使用一些数据打开选项卡1。
  • 打开一些数据的标签2

按顺序,然后提交标签1。它将导航到指定的页面,然后将tab2数据加载到tab1页面。

当我打开并提交一个标签时,它只会返回到已定义的页面。

我觉得这是发生的,因为它正在会话中创建并保存两个视图数据,并每次都在检查视图会话。”>

这是我的bean类

外观-->
public class testbean {

    public testbean() {
        initilize();
    }

    private void initilize() {
       Map<String, Object> session = 
      FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
      controller = getDataFromSession(session);
   }

}

Face-config.xml

<managed-bean>
    <managed-bean-name>testbean</managed-bean-name>
    <managed-bean-class>com.test.testbean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-case>
    <from-action>#{testbean.submit}</from-action>
    <from-outcome>Page4</from-outcome>
    <to-view-id>/pages/Page4Post.jsp</to-view-id>
</navigation-case>
<navigation-case>
    <from-action>#{testbean.submit}</from-action>
    <from-outcome>Page3</from-outcome>
    <to-view-id>/pages/Page3Post.jsp</to-view-id>
</navigation-case>
<navigation-case>
    <from-action>#{testbean.submit}</from-action>
    <from-outcome>Page1</from-outcome>
    <to-view-id>/pages/page1Post.jsp</to-view-id>
</navigation-case>
<navigation-case>
    <from-action>#{testbean.submit}</from-action>
    <from-outcome>Page2</from-outcome>
    <to-view-id>/pages/Page2Post.jsp</to-view-id>
</navigation-case>

我们正在使用我们自己的过滤器将数据保存到我们的地图中。

在特定于Bean的test.jsp

中,将表单提交到某个JSF页面,而该JSF页面正在关闭会话。

我正在使用JSF1.2。我们正在打开两个选项卡1和选项卡2,直到所有选项卡都提交后才关闭会话。这就是我正在尝试的-使用一些数据打开选项卡1。打开标签2 ...

session jsf view jsf-1.2
1个回答
0
投票

这很可能是由于页面共享来自共享(=更长)范围的信息所致。您的bean不会造成这种情况,因为它是requestscope的,但是在您共享会话的bean中。

private void initilize() {
   Map<String, Object> session = 
      FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
   controller = getDataFromSession(session);
}
© www.soinside.com 2019 - 2024. All rights reserved.