2013-02-05 83 views
0

我在JSF 2.0的简单表单中遇到了一个奇怪的问题。在这种形式下,我使用两个选择,如果选择第一个选择,第二个应该用新选项重新加载。我使用与Primefaces演示页面上相同的机制:Primefaces demo page。我的豆是@ViewScoped。我也通过“mvn jetty:run”在jetty-maven插件上运行我的应用程序。到目前为止没有问题。我的表单运行良好。重新部署服务器后的ViewScoped

当我的服务器正在运行时,我改变了一些东西,jetty正在重新加载。之后,这两个选择不起作用 - 如果我选择了一个选项,第二个选择不响应。我必须通过在Spring Security中注销来清除所有会话,然后我的表单重新开始工作。

当我将我的bean更改为@SessionScoped时,问题消失。 这工作正常吗?我不想让我的表单在会话范围内,我更喜欢ViewScoped。

回答

1

尝试检查您的上下文是否在postConstruct中回发,如此。

@PostConstruct 
public void init() { 
    if (!FacesContext.getCurrentInstance().isPostback()) { 
     //Write your code here... 
    } 

或尝试接近部分国家对你的web.xml节省如果JSF版本是2.0,但是用这种方法,您的应用程序可能需要更多的内存分配

<context-param> 
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> 
    <param-value>false</param-value> 
</context-param> 

祝您好运!