Окружающая среда и требования
Моя среда - JSF 2.2 (Mojarra) на wildfly 10. Я работаю над составным компонентом font-selection JSF. Компонент в основном состоит из ввода HTML <select>
для выбора имени шрифта и некоторого другого ввода для выбора размера шрифта. Пока все просто.
проблема
Проблема возникает, когда я пытаюсь оптимизировать свой код. Список доступных шрифтов создается на сервере (в компоненте поддержки ) и может содержать более 100 записей, что приводит к значительному количеству килобайт HTML-кода. Это было бы хорошо, но когда я размещаю компонент 5 раз на одной странице, длинный список шрифтов генерируется и передается 5 раз с сервера в браузер. Я действительно хотел бы передать список шрифтов только один раз в браузер и заполнить элементы выбора с помощью JavaScript (или другим способом).
Некоторые идеи
У меня уже была идея предоставить список шрифтов через файл JavaScript в виде строки JSON. Это прекрасно работает для статического списка шрифтов, и список нужно передавать только один раз. Но я не знаю, как динамически генерировать такой файл JSON из составного компонента.
Чистый раствор
Вопрос в том, как составной компонент JSF может предоставить такой список в браузер? Это вообще возможно? Нужно ли создавать сервлет, который предоставляет ресурсы? Или динамический обработчик ресурсов ? Обе идеи не кажутся мне чистым решением, так как составной компонент будет зависеть от этих других ресурсов.