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

428
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 [дубликат]

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

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

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

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

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

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

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

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

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

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

393