Действительно ли возможно изменить идентификационный разделитель элемента в JSF?

Например, следующий отрывок:


    

генерирует следующую разметку:

Действительно ли возможно изменить автоматически сгенерированные идентификаторы для использования другого разделителя, чем двоеточие?

Например, я хотел бы измениться

levelone:leveltwo

кому:

levelone-leveltwo

Фон

Мы используем Mojo среда разработки приложения JavaScript в нашем веб-приложении, и этому, кажется, не нравятся двоеточия в идентификаторе.

9
задан braveterry 28 January 2010 в 14:32
поделиться

3 ответа

Это невозможно в JSF 1.x, но поскольку JSF 2.x вы можете определить его в Web.xml AS init-Param из javax.faces.separator_char .

, которые сказали, что я думаю, что вы просто хотели изменить его, потому что вы хотели бы получить ваши CSS работать, это? Колон : - а именно специальный символ в идентификаторах CSS, он представляет собой псевдоселектор. Если эта причина верна для вас, то может быть приятно знать, что вы можете избежать специальных символов в CSS обычным способом \ .

Таким образом, например, например

#levelone\:leveltwo {
    color: blue;
}

должен работать для нормальных браузеров (для IE6 / 7, вам нужен ​​#levelone \ 3A LevelTwo вместо).

То же самое относится, когда вы намереваетесь использовать его с jQuery или любую другую структуру JavaScript, которая выбирает элементы с помощью селекторов CSS :

var leveltwo = $('#levelone\\:leveltwo');


. В качестве альтернативы вы также можете просто дать Это STYLECLASS , который вы в свою очередь, могут коррелировать с классом CSS. Таким образом, например

<h:inputText styleClass="myinput" />

, которые генерируют

<input type="text" class="myinput" />

, могут быть введены в

.myinput {
    color: blue;
}

см. Также

13
ответ дан 4 December 2019 в 12:18
поделиться

Для Java обязательно проверить HTMLUNIT и httpunit .

-121--3926441-

Tomahawk имеет расширенные компоненты, такие как , которые имеют атрибут . Там вам придется установить его как - I.e. Вы не сможете использовать имя автоматически сгенерированного контейнера.

Я бы посоветовал против такой вещи - я не вижу действительной причины, почему : должен быть изменен на -

2
ответ дан 4 December 2019 в 12:18
поделиться

В старых версиях это невозможно. Это жестко закодированная константа. В версии 2.0 ее можно изменить. Смотрите запись в этом блоге .

2
ответ дан 4 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: