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
JSF2.0托管属性对象有两个不同的实例,分别用于打开页面和执行ajax请求_Jsf_Jsf 2_Primefaces_Managed Bean_Mojarra - Fatal编程技术网

JSF2.0托管属性对象有两个不同的实例,分别用于打开页面和执行ajax请求

JSF2.0托管属性对象有两个不同的实例,分别用于打开页面和执行ajax请求,jsf,jsf-2,primefaces,managed-bean,mojarra,Jsf,Jsf 2,Primefaces,Managed Bean,Mojarra,全部 我是JSF2的新手(在tomcat7上使用了Mojara+primeFaces),我得到了ManagedProperty对象的奇怪行为: @ManagedBean @ViewScoped public class CreateFactMB implements Serializable{ @ManagedProperty(value="#{collectionFactTable}") private CollectionFactTable collectionFactT

全部

我是JSF2的新手(在tomcat7上使用了Mojara+primeFaces),我得到了ManagedProperty对象的奇怪行为:

@ManagedBean
@ViewScoped
public class CreateFactMB implements Serializable{

    @ManagedProperty(value="#{collectionFactTable}") 
    private CollectionFactTable collectionFactTable; //SessionBean
    ...
    //setters/getters
当我打开页面时,我打印了对象(刷新brouser),我看到了collectionTree的一个实例

mbeans.CollectionFactTable@12803ba
但是当我做ajax请求时

<p:commandButton id="btn1" value="Save" update="growl"
                actionListener="#{createFactMB.doUpdate}" />    
这是一个问题,因为我不能在ajax操作时进行更改(因为我只有复制)


有人能帮我吗?我做的不对吗?

我想您对JSF中SessionScoped持久化的工作原理有误解。这种行为是正常的

在请求开始时,所有托管bean都被实例化,而与作用域无关。在恢复视图阶段,基于会话的持久性值被设置为新的托管bean对象,有效地将SessionScoped bean恢复到发送最后一个响应之前的最后状态


响应完成并发送后,这些托管bean实例中的数据将被持久化,对象将被取消引用以进行垃圾收集。在下一个请求时,该过程将重新开始,无论它是否为Ajax。

打印的值似乎是针对CollectionFactTable类而不是CollectionTree类的,您输入了一个错误或查看了错误的值!!!不间断电源。。这是我在复制时的打字错误-此处为右-@ManagedProperty(value=“#{collectionFactTable}”)private collectionFactTable collectionFactTable;我找到了苏鲁汀。只需要将javax.faces.STATE\u SAVING\u METHOD=server放入web.xml中
mbeans.CollectionFactTable@625c49