Добавление пользовательских атрибутов в компонент автозаполнения Primefaces в JSF

Я спросил о прохождении через атрибуты вдругой вопрос и обнаружил, что я мог бы создать собственный рендер для<p:autocomplete> компонент, но проблема в том, что мой пользовательский рендерер будет использоваться для каждого p: autocomplete в моем проекте (для всего сайта). Поэтому я решил создать пользовательский компонент, который расширяетorg.primefaces.component.autocomplete.AutoComplete и добавляет необходимые атрибуты в текстовое поле.

Сначала я хотел добавить конструктор, но он, похоже, не работает, поскольку карта атрибутов на этом этапе пуста:

<code>@FacesComponent("com.mycomponents.SiteSearch")
public class SiteSearch extends AutoComplete {

    public SiteSearch() {
        Map<String,Object> attrs = getAttributes();
        attrs.put("x-webkit-speech", null); 
        attrs.put("x-webkit-grammer", "builtin:search");
        attrs.put("onwebkitspeechchange", "this.form.submit();");
        attrs.put("placeholder", "Enter a Search Term");
    }   
}
</code>

Моя другая мысль состояла в том, чтобы оставить этот пользовательский компонент пустым (пустой класс), а затем указать пользовательский рендер, который расширяетorg.primefaces.component.autocomplete.AutoCompleteRenderer и измените атрибуты там.

После того, как все сказано и сделано, мне просто нужен способ сохранить эти атрибуты отдельно от этого одного текстового поля, так что простое размещение пользовательского средства визуализации в p: autoComplete не будет работать (если, возможно, я не смогу использовать для этого атрибут renderType = р: автозаполнение?).

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

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