2016-05-17 105 views
0

我有一个简单的形式结合了primefaces和JSF。我在编辑器模式下使用了一个名为inplace的primefaces组件,但由于某些原因,即使“cancel”确实存在,“save”事件也不会调用backing bean。 关于如何解决这个问题的任何想法?Primefaces就地编辑器 - 保存永远不会被触发

形式

<h:form 
    id="base-form"> 
    <p:inplace 
     id="base-editor" 
     editor="true"> 
     <p:inputText value="#{bean.user.name}" /> 
     <p:ajax event="save" listener="#{bean.save()}" /> 
     <p:ajax event="cancel" listener="#{bean.cancel()}" /> 
    </p:inplace> 
</h:form> 

BackingBean

@ManagedBean(name = "bean") 
public class UserBean(){ 
    private User user = new User(); 

    public void save() { 
     System.out.println("Save called"); 
    } 

    public void cancel() { 
     user = new User(); 
     System.out.println("Cancel called"); 
    } 

    public void setUser(User user) {this.user = user} 
    public User getUser(){} 
} 

回答

0

在我看来,你只需要像EL value="#{bean.user.name}"

而且你还需要一个bean的作用域。尝试@ViewScoped。和implements Serializable就可以了。

+0

对不起,愚蠢的错误,但我有我的实际代码。问题是保存事件,永远不会被触发,虽然 –

+0

没问题,你尝试的范围? –

+0

我试过查看和请求作用域。他们都没有工作 –