从a4j:jsFunction返回值

时间:2013-05-11 15:48:25

标签: javascript jsf richfaces

我想从a4j:jsFunction获取返回值。但我不知道如何完成这件事。

这是JSF代码:

<h:form>
    <a4j:jsFunction name="createEvent" data="#{calendarController.eventId}" action="#{calendarController.createEvent()}">
        <a4j:param name="eventTitle"
            assignTo="#{calendarController.eventTitle}" />
    </a4j:jsFunction>
</h:form>

我将a4j:jsFunction称为:

var id = createEvent(event.title);

Beans方法calendarController.createEvent()返回一个整数值。属性eventId将此值保存到。如何将此值传回页面上的javascript代码?

1 个答案:

答案 0 :(得分:3)

由于ajax调用是异步的,因此无法直接从'createEvent'方法获取值。但是,如果您使用'oncomplete'属性,则可以获得它,例如:

<h:form>
    <a4j:jsFunction name="createEvent" data="#{calendarController.eventId}" action="#{calendarController.createEvent()}" oncomplete="alert(data)">
        <a4j:param name="eventTitle"
            assignTo="#{calendarController.eventTitle}" />
    </a4j:jsFunction>
</h:form>

有关类似问题,请参阅here