Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 会话bean中的请求参数?_Jsf_Jsf 2 - Fatal编程技术网

Jsf 会话bean中的请求参数?

Jsf 会话bean中的请求参数?,jsf,jsf-2,Jsf,Jsf 2,JSF2.0,Primefaces 我有一个基于会话的bean(Bean1)和相应的视图,其中包含动态修改数据的ajax调用。这很理想,因为它不需要在非ajax按钮提交上加载页面 然而,我遇到的情况是,他们希望在同一个浏览器中打开多个视图,并允许每个视图独立工作(这更像是一个请求范围)。因此,一个参数在技术上是“请求”。但是-我想要会话视图提供给我的AJAX功能。显然,这个参数当前是跨浏览器共享的,因为它的会话。这导致了可用性问题 是否可以使用“充当”请求参数而不是会话的参数?因此,每个窗口都向

JSF2.0,Primefaces

我有一个基于会话的bean(Bean1)和相应的视图,其中包含动态修改数据的ajax调用。这很理想,因为它不需要在非ajax按钮提交上加载页面

然而,我遇到的情况是,他们希望在同一个浏览器中打开多个视图,并允许每个视图独立工作(这更像是一个请求范围)。因此,一个参数在技术上是“请求”。但是-我想要会话视图提供给我的AJAX功能。显然,这个参数当前是跨浏览器共享的,因为它的会话。这导致了可用性问题


是否可以使用“充当”请求参数而不是会话的参数?因此,每个窗口都向会话视图打开,但参数处于“请求”模式,并且单独分配给窗口。

只需将bean放在视图范围而不是会话范围内

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class Bean1 implements Serializable {
    // ...
}
通过这种方式,每个浏览器选项卡/窗口将自动获得自己的实例,完全符合您的意图,而无需手动请求参数

另见:

如果支持bean在视图范围内,是否可以让基于AJAX的组件更新和刷新页面?这是我目前遇到的最大问题(primefaces,通过AJAX向页面添加组件),当然是。只要确保从action方法返回
null
void
,只要您想回发到同一视图(从而保持视图范围活动)。另请参阅“请参阅”链接以获得详细的解释。非常好-我最大的担心是我无法在请求/查看会话中操纵和更新视图内容。非常感谢。