我正在使用JSF1.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
中,将表单提交到某个JSF页面,而该JSF页面正在关闭会话。<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
我正在使用JSF1.2。我们正在打开两个选项卡1和选项卡2,直到所有选项卡都提交后才关闭会话。这就是我正在尝试的-使用一些数据打开选项卡1。打开标签2 ...
这很可能是由于页面共享来自共享(=更长)范围的信息所致。您的bean不会造成这种情况,因为它是requestscope的,但是在您共享会话的bean中。
private void initilize() {
Map<String, Object> session =
FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
controller = getDataFromSession(session);
}