Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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 在每次回发时重建ViewScope bean_Jsf_Postback_View Scope - Fatal编程技术网

Jsf 在每次回发时重建ViewScope bean

Jsf 在每次回发时重建ViewScope bean,jsf,postback,view-scope,Jsf,Postback,View Scope,我有一个@viewscopebean import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; @ManagedBean @ViewScoped public class MyBean implements Serializable 它在每次回发时都会被重建(所有明显的后果都是丢失初始属性)。这是如何造成的,我如何解决?如果无法解决,是否有解决办法 由于非技术原因,我无法将bean的范围更改为例如@Ses

我有一个
@viewscope
bean

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

@ManagedBean
@ViewScoped
public class MyBean implements Serializable
它在每次回发时都会被重建(所有明显的后果都是丢失初始属性)。这是如何造成的,我如何解决?如果无法解决,是否有解决办法

由于非技术原因,我无法将bean的范围更改为例如
@SessionScoped

配置了以下状态保存方法:

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>

javax.faces.STATE_保存方法
服务器
从pom.xml中删除所有与JSF相关的文件

        <!-- JSF Files -->
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>mojarra-jsf-impl</artifactId>
        <version>2.0.0-b04</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.12</version>
    </dependency>

    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.0.2-FCS</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

com.sun.faces
mojarra jsf impl
2.0.0-b04
com.sun.faces
JSFAPI
2.2.12
javax.faces
jsf impl
2.0.2-FCS
javax.servlet
servlet api
2.5
假如
javax.faces
javax.faces-api
2
假如
javax.servlet
jstl
1.2

这毫无意义

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>mojarra-jsf-impl</artifactId>
    <version>2.0.0-b04</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.2.12</version>
</dependency>
<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.0.2-FCS</version>
</dependency>
<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>javax.faces-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
</dependency>
目前是2.2.12

相关潜在原因:

您调用的回发方法是什么样子的?Danny,没有,您从未展示过@道恩:OP的问题在方法被命中之前就已经发生了,否则问题只会发生在“每秒点击”之前。因此,这一部分已经无关紧要,只会给问题增加干扰。你有没有尝试在谷歌上发布这个问题的标题,并尝试通过阅读结果找到问题的原因?甚至阅读StackoverflowWell右侧的“相关”问题,页面(以及任何)状态来描述您做了什么/尝试了什么以及为什么没有解决方案。因此,与其问我发现了什么(几个可能的原因),不如从你的角度改进你的问题。你的浏览器cookie存储也被搞得一团糟,这是因为以前存在的所有旧的和混合的依赖关系。只需清除所有cookies或生成一个匿名窗口。
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.faces</artifactId>
    <version><!-- Check javaserverfaces.java.net for latest version --></version>
</dependency>