JSF <h: outputText ...>, который связывается с bean-компонентом внутри таблицы> нуждается в поддержке ajax - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть таблица, в которой один столбец используется для тяжелых вычислений (= долгое время ожидания).

Я хотел бы добавить поддержку Ajax на мою страницу, чтобы таблица отображалась не полностью, а данные для этого конкретного столбца будут добавлены Ajax через несколько секунд.

Как я могу это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

если вы хотите использовать поддержку ajax в h: inputText, то вот пример

в файле XHTML

  <h:inputText style=" width : 70px;" id="dempID"
        value="#{InformationLoan.instance.Code}">
        <a:support event="onchange" limitToList="true" reRender="nameID"  // form ID i haved use here.
        action="#{InformationController.codeValue(InformationLoan.instance.Code)}"/>
  </h:inputText>

в бобовом файле

public void codeValue(String value){
    try{

        info("HERE IS YOUR VALUE : " + value);
        // TYPE YOUR CODE......

    }catch(Exception e){
        e.printStackTrace();
    }
}
0 голосов
/ 05 декабря 2011

Для этого вам нужна технология push или аналогичная.Взгляните на icepush , простые лица poll .Richfaces также предлагает что-то близкое.

ОБНОВЛЕНИЕ: Для достижения этого только с некоторыми javascript вы можете выполнить обновление ajax после рендеринга страницы.Это будет что-то вроде:

$(function() {
  var event = document.createEvent("MouseEvents")
  event.initEvent("click", true, true)
  jsf.ajax.request(document.getElementById("my-form:my-command-link"), event, {render: "myTableId"})
})

, где my-command-link ссылается на ah: commandLink внутри формы с идентификатором my-form.К этому commandLink должно быть прикреплено действие, которое будет заполнять отсутствующие данные.Конечно, вы можете скрыть командную ссылку с помощью css.Результатом будет начальная страница с пустой таблицей и обновлением AJAX, извлекающая информацию об отсутствующей дате в фоновом режиме.

Я не уверен на 100% в отношении инициализации события в этом примере, вам может потребоваться выполнить точную настройку самостоятельно, но я уже успешно использовал jsf.ajax.request таким образом.

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