У меня была возможность написать несколько пользовательских рендереров для моего проекта, и они отлично работают. Однако меня несколько смущают некоторые параметры в методах ResponseWriter. Документация не очень хорошо объясняет это, поэтому я надеюсь, что один из местных экспертов JSF сможет объяснить это лучше. Конкретно:
public abstract void startElement(java.lang.String name,
javax.faces.component.UIComponent component)
throws java.io.IOException
Parameters:
name - Name of the element to be started
component - The UIComponent (if any) to which this element corresponds
Что на самом деле делает этот второй параметр? Кажется, все работает нормально, передаю ли я «null» или «this» в своем рендерере?
Аналогично для writeAttribute:
public abstract void writeAttribute(java.lang.String name,
java.lang.Object value,
java.lang.String property)
throws java.io.IOException
Parameters:
name - Attribute name to be added
value - Attribute value to be added
property - Name of the property or attribute (if any) of the UIComponent associated with the containing element, to which this generated attribute corresponds
Почему ResponseWriter должен знать резервное свойство? Опять же, кажется, что все работает нормально, если я передаю значение null или "styleClass" при написании атрибута класса.
Любознательные умы хотят знать, и мой гугл-фу терпит неудачу в этом...
ResponseWriter
реализаций. Стандартные конечно пофиг, я обычно просто прохожуnull
и не заморачиваюсь. - person doublep   schedule 05.08.2012