Как использовать скины Richfaces на стандартном столе? - PullRequest
0 голосов
/ 06 апреля 2011

Насколько я понимаю, на демонстрационной странице Richfaces и docs я должен иметь возможность обрабатывать стандартные элементы HTML.

Эта функция обеспечивает стилизацию для стандартных элементов формы HTML для обеспечения высокой совместимости с обычным внешним видом RichFaces.

Может быть, я немного перегорел сегодня с ВЧ, но я не понимаю, как получить шкурку на обычных элементах. Например, если бы я хотел, чтобы таблица ручной работы соответствовала причудливым таблицам Richfaces, я бы подумал, что что-то вроде этого будет работать:

<table class="rich-table">
        <tr class="rich-tr">
        <a4j:repeat value="#{myBean.elements}" var="e">
            <th class="rich-th" >
                                   <h:outputText value="#{e.text}" />
                            </th>
                    </a4j:repeat>
            </tr>
    </table>

Другие элементы, которые я пытался обработать, тоже не работали, поэтому я чувствую, что поступаю неправильно. Конечная цель состоит в том, чтобы стандартные элементы HTML сливались и по-прежнему позволяли менять скины, скажем, с blueSky на emeraldGreen без изменения определенных элементов.

Ответы [ 2 ]

2 голосов
/ 05 сентября 2012

Проблема в том, что richFaces не поставляется с тегом "статическая таблица" , а не обеспечивает автоматическое создание скинов для таблиц из-за "blablabla" (некоторые неудачные оправдания ;)). И ручное снятие шкур ужасно.

Решение: использовать rich: dataTable, предоставляя некоторое фиктивное значение ( rich: dataTable value = "DummyStaticValue" ) и использовать rich: columnGroup вместе с богатая: колонка .

Ваша комбинация будет отображаться только один раз (поскольку dummyValue является просто строкой), и вы можете получить любую желаемую структуру таблицы.

<rich:dataTable width="100%" value="DummyStaticValue">
    <f:facet name="header">
        <h:outputText value="myHeader" />
    </f:facet>
    <rich:columnGroup>
        <rich:column>
            <h:outputText value="myValue1" />
        </rich:column>
        <rich:column>
            <h:outputText value="myValue2" />
        </rich:column>
    </rich:columnGroup>
    <rich:columnGroup>
        <rich:column>
            <h:outputText value="myValue3" />
        </rich:column>
        <rich:column>
            <h:outputText value="myValue4" />
        </rich:column>
    </rich:columnGroup>
1 голос
/ 06 апреля 2011

Попробуй это. Добавьте этот параметр контекста: org.richfaces.CONTROL_SKINNING в web.xml и установите для него значение «enable». Я не уверен на 100%, что он будет обрабатывать тег таблицы. Если нет, вы можете использовать # {richSkin.any_param_name}, чтобы обработать таблицу вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...