Primefaces AJAX обратный вызов с параметром для JavaScript

Я пытаюсь отправить свойство bean-компонента Primefaces непосредственно в javascript, чтобы открыть новую страницу и записать содержимое свойства bean на новую страницу.

Я использую Primefaces 4.0.

У меня есть кнопка управления, как это:

 <p:commandButton id="buttonId" update="buttonId, otherComponentId"
    value="press me" process="@this" actionListener="#{homeController.myMethod}"
    oncomplete="handleComplete(xhr, status, args)">
 </p:commandButton>

В handleComplete javascript функция args не определена, но не xhr и статус. Определение функции JavaScript:

function handleComplete(xhr, status, args){
    var w = window.open();
    w.document.open();
    alert(xhr.responseText.substring(100));
    alert(status);
    alert(args);
    var d = '<head></head><body>'+ args.firstParam +'<body>';
    w.document.write(d);
    w.document.close();
}

первое предупреждение, которое дает мне страницу, вторая ошибка синтаксического анализа и ошибка: Uncaught TypeError: Невозможно прочитать свойство 'firstParam' из неопределенного

Я хочу передать в аргументы строку, как это:

public String MyMethod() {
    RequestContext context = RequestContext.getCurrentInstance();  
    context.addCallbackParam("firstParam", "my string");
      return "";
}

и доступ к нему в JavaScript сargs.firstParam .

метод вызывается, (у меня есть несколько экранов печати, которые работают.)

Я должен попробовать этот способ, а не устанавливать текст в

<h:outputText id="myText" escape="false" rendered="true"
            value="#{homeController.property}" />

а затем получить innerHTML этого элемента, потому что то, что я получу с innerHTML, не будет таким же, как строковая переменная в bean-компоненте. Этот метод работает, но не так, как хотелось бы. Мне интересно, почему объект args не определен или как еще можно получить свойство bean-компонента, управляемое из javascript. Спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос