Средство рендеринга XPages для группы радио ставит все в таблицы и в основном ужасно. Я пытаюсь исправить это с помощью специального рендеринга. Я пробовал много вещей, но сейчас я застрял, потому что у меня просто нет информации, чтобы идти дальше.Пользовательский рендерер для группы радио/SelectOne ничего не делает
Мой визуализатор объявлен в гранях-конфигурации, как так:
<renderer>
<component-family>javax.faces.SelectOne</component-family>
<renderer-type>itd.alcs.controller.Radio</renderer-type>
<renderer-class>itd.alcs.controller.RadioGroupRenderer</renderer-class>
</renderer>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>itd.alcs.controller.Radio</renderer-type>
<renderer-class>itd.alcs.controller.RadioGroupRenderer</renderer-class>
</renderer>
Мой визуализатор код:
public class RadioGroupRenderer extends com.ibm.xsp.renderkit.html_basic.RadioRenderer {
public RadioGroupRenderer() {
System.out.println("RadioGroupRenderer");
}
@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
System.out.println("encodeBegin");
super.encodeBegin(context, component);
}
@Override
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
System.out.println("encodeEnd");
Writer writer = context.getResponseWriter();
XspSelectOneRadio tcomponent = component instanceof XspSelectOneRadio ? (XspSelectOneRadio) component : null;
if (tcomponent == null) {
System.out.println("Nothing");
writer.write("Nothing");
}
if (tcomponent.isReadonly()) {
// writer.write(tcomponent.getValue().toString());
System.out.println("Read Only");
writer.write("Read Only");
} else {
//super.encodeEnd(context, component);
System.out.println("Edit");
writer.write("Edit");
}
}
}
Что-то происходит, когда я применяю этот рендерер типа. И это то, что я не получаю выход. Ничего в моем ответе. В консоли нет ошибок. Ни одно из сообщений консоли, которые я вставлял в конструктор или encodeBegin или encodeEnd.
Если я изменю имя класса renderer-type или renderer-class на что-то недействительное ... все равно ничего. Нет ошибок, нет вывода. Я не знаю, что-то улавливает мою ошибку и обрабатывает их молча или ... что?
Как я могу понять, что я здесь делаю неправильно? Бонусные баллы, если вы можете рассказать мне, что я делаю неправильно, но то, что я действительно хочу знать, - это как получить обратную связь, чтобы самостоятельно устранить эту проблему.
Поместите что-нибудь на OpenNTF, если вы это сделаете! Я ненавижу таблицы, которые XPages делает для групп радио. спасибо, Говард – Howard