Как сделать из jsf Json?

444
31 декабря 2016, 16:39

Всем Добрый вечер!

Не подскажите как сделать данные из БД которые отображаются на jsf в Json для последующие подачи её в скрипт .Мне хотелосьбы узнать про переход из Jsf в Json.Если не сложно покажите пару легких примеров ...Благодарю .

Answer 1

Скачиваете jquery (условно jquery.js). Помещаете например в /WEB-INF/resources/js/ (Обязательно часть /WEB-INF/resources/)

...
<h:head>
    ...
    <h:outputScript name="js/jquery.js"/>
    <h:outputScript>
        function jsonSuccess(data) {
            // здесь можете передать data в свой скрипт
        }
    </h:outputScript>
</h:head>
<h:body>
    ...
    <h:button onclick="$.getJSON('#{jsonUrl}', { param1: 'value1', param2: '#{value2}' }, jsonSuccess); return false;"/>
    ...
</h:body>
...

Примерно так. Для начала сойдёт.
В jquery для запроса json есть функция $.getJSON (упрощённая версия $.ajax). Вызываем её в обработчике нажатия на кнопку.
jsonUrl - это url, который выдаёт json. Можете и строкой написать (example.com) если не надо вычислять из el-выражения.

Надеюсь ясно как из java передать переменные в скрипт на jsf-странице. Точно так же как в компоненты JSF с помощью EL #{}.

При получении json-а вызывается функция jsonSuccess, в которой делайте с ним что хотите. Но вы можете вместо jsonSuccess передать сразу функцию своего скрипта, если она принимает нужные параметры.

Чтобы при нажатии на кнопку в завершении не срабатывала функция jsf, надо чтобы обработчик вернул false (ну как обычно принято было раньше в обработчиках событий). Поэтому return false после вызова $.getJSON.

READ ALSO
Не работает событие checked = false javascript [дубликат]

Не работает событие checked = false javascript [дубликат]

На данный вопрос уже ответили:

431
Получить данные из формы

Получить данные из формы

ЗдравствуйтеНа сайте есть кнопка, при нажатии на которую генерируется хэш, который мне нужно получить

414
Почему не срабатывает скрипт?

Почему не срабатывает скрипт?

Я только начил изучать Js это еще первые шаги )немогу найти ошибку может от того что устал)Но скрипт не работает

404
Рекурсия и стек

Рекурсия и стек

В общем единственная тема, которую я никак не могу понять - это рекурсияНаписал маленький код, но не понимаю как он работает до конца

412