ViewScoped bean在每次回发时重建

时间:2015-09-15 06:52:47

标签: jsf postback view-scope

我有一个@ViewScoped 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>

我的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>

1 个答案:

答案 0 :(得分:2)

这没有意义。

datetime.now.replace(tzinfo=utc)

全部摆脱它们。它们彼此不相容。这可能会产生许多后果,其中视图范围确实破坏了。

要在Tomcat上使用Mojarra,只需获取单个org.glassfish:javax.faces依赖项。

<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>

Latest stable 2.2.x version目前是2.2.12。

相关潜在原因: