Доступ к возвращаемому значению из функции bean с использованием ответа Ajax JSF 2.0? - PullRequest
2 голосов
/ 07 апреля 2011

Я создаю приложение для планирования, используя JSF 2.0, где пользователи могут добавлять элементы в календарь, а затем редактировать эти объекты.

Я достаточно широко использую AJAX, чтобы не обновлять страницу.

Проблема, с которой я сталкиваюсь, состоит в том, чтобы получить возвращаемое значение из функции, вызываемой с использованием AJAX.

<!-- ... form to fill -->
<h:commandButton value="Insert">
   <f:ajax execute="formField1 formField2..." 
    listener="#{myBean.insert()}" onevent="processSave"/>
</h:commandButton>

Это успешно вызывает мою функцию JavaScript processSave().

myBean.insert()возвращает id новой вставленной строки в базе данных

public String insert() {
    //... inserting data into database
    id = {id from database is obtained here}
    System.out.println("I have the ID here : " id);  //this works
    return id;
}

Я пытался получить это из объекта ответа в JavaScript в функции processSave().

processSave(data) {
    if(data.status == "begin") {
        // ation done here
    } else if(data.status == "complete") {
        // more actions done here
    } else if(data.status == "success") {
        //I am trying to get the ID here
        //I've tried looking into data.responseXML, but to no avail.
    }
}

Возможно ли то, что я пытаюсь использовать с использованием современных технологий?

Я думаю, что можно было бы обновить поле на странице с помощью компонента render вызова AJAX, а затем использовать Javascript, чтобы получить getЗначение.Но я думаю, что это будет не так чисто?

Спасибо!

1 Ответ

4 голосов
/ 08 апреля 2011

Это возможно.И более легко сделать с Primefaces .

Следуйте этому примеру, вы можете найти там что-нибудь полезное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...