【问题标题】:Primefaces ajax Inplace save dataPrimefaces ajax就地保存数据
【发布时间】:2013-04-22 01:39:08
【问题描述】:

我对来自 JSF Primefaces 的就地标签有一个问题

这是一个代码sn-p

<h:form >
 <p:inplace id="ajaxInplace" editor="true">  
   <p:inputText value="#{productService.instance.productName}"required="true"     label="text"/>     
 </p:inplace>
</h:form>

在我按下 ajax 的确认按钮后,我想将更改的数据存储到我的数据库中。我有一个方法 productService.updateInstance() 来做到这一点。但是更改后如何调用此方法?

谢谢你和亲切的问候

【问题讨论】:

    标签: ajax jsf primefaces


    【解决方案1】:

    使用&lt;p:ajax event="save"

    save 和 cancel 是两个提供的 ajax 行为事件,您可以用来 挂接编辑过程。

     <p:inplace id="ajaxInplace" editor="true">  
       <p:ajax event="save" listener="#{productService.handleSave}" update="someThing" />
       <p:inputText value="#{productService.instance.productName}" required="true"     label="text"/>     
     </p:inplace>
    

    handleSave 看起来像这样

    public void handleSave() {
        //do something here
    }
    

    【讨论】:

    • 感谢您的帮助。但现在我遇到的问题是更新只能运行一次。我无法再次编辑文本
    • 奇怪,尝试使用 ajax 的update 可能是这样的:update="ajaxInplace"
    • i也使用表单标签,因为没有表单标签就不会进行任何更改
    • 我这样做了,但这并没有改变行为。当我再次尝试更改它时,它甚至不会调用 updateInstance 方法
    • 有趣的是,像 @NotNull 这样的 JSF Bean 验证在这样调用时不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 2013-09-20
    • 2013-02-19
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多