2011-02-09 2 views
1

Посмотрите следующий кодJsf пользовательских selectItems

<h:selectManyCheckbox layout="pageDirection" styleClass="pressReviewTable"> 
<f:selectItems value="#{theme.articles}" var="prArt" itemLabel="#{prArt.prLabel}" itemValue="#{prArt.id}" itemLabelEscaped="false"/> 
</h:selectManyCheckbox> 

Я пытаюсь поставить некоторые HTML на на itemLabel как <b> но у меня есть следующее сообщение об ошибке:

The value of attribute "itemLabel" associated with an element type "f:selectItems" must not contain the '<' character.

я нахожу трюк поставить прямо в # {prArt.prLabel} html, но я не удовлетворен этим. Я использую моджарру и первичность.

Я хочу сделать что-то вроде:

<f:selectItems value="#{theme.articles}" var="prArt" itemLabel="<b>#{prArt.value1}</b> : <font>#{prArt.value2}</font>" itemValue="#{prArt.id}" itemLabelEscaped="false"/> 

Что другой путь? Если ...

Благодаря

ответ

1

Поскольку каждая метка деталь получить печатается как <label> в HTML, вы можете просто использовать CSS

<h:selectManyCheckbox styleClass="foo"> 

с

.foo label { font-weight: bold; } 
+0

Я не могу, в Я хочу сделать что-то вроде '' –

+1

Ну, тогда вы не можете многое сделать в стороне JSF/CSS. Пользовательский компонент 'f: selectItems' исправил бы его, но это немного работа. Вы можете просто жить с добавлением дополнительного геттера, который добавляет некоторую HTML-колбасу вокруг значений. Обратите внимание, что тег '' устарел с 1998 года. Скорее используйте '' или что-то в этом роде. – BalusC

+0

@BalusC, можете ли вы добавить образец кода для этого решения? –

Смежные вопросы