2010-08-17 3 views
2

Я использую JSF 2.0 btw
У меня есть атрибут X Тип Integer, значение по умолчанию 0. На моей странице JSF я создаю компонент, который мне нужен для отключения, если X равно 0, и разрешено в противном случае.JSF: Возможно ли создать пользовательский конвертер для этого

<h:selectBooleanCheckbox disabled="#{X}"/> 

и я получил эту ошибку

Cannot convert 0 of type class java.lang.Integer to class java.lang.Boolean 
+1

Я не понимаю, что вы подразумеваете под термином «тип объекта Interger» – Bozho

+0

uhmmm, атрибут 'X' type Integer, это то, что я имею в виду –

ответ

6

Ваш вопрос является довольно расплывчаты и неоднозначны. Я не вижу, как здесь полезен конвертер. Конвертер просто конвертируется между нестандартным типом и классом String (стандартные типы, для которых EL имеет встроенные преобразования (принуждения), являются примитивами, Number и Boolean). Кроме того, я думаю, что вы на самом деле означали «рендеринг в дереве компонентов», когда вы сказали «отключено» и «включено».

В орехе, вы в основном хотите <h:someComponent rendered="#{X != 0}" />.

Разве вы не можете это сделать?

+0

. Я вижу, что ваш хрустальный шар отлично работает сегодня :) +1 – Bozho

+0

Также; несколько компонентов имеют отключенный атрибут, используются одинаково. Я бы предложил сохранить логическую переменную для enabled/disabled, хотя: '' – Tormod

+0

Компоненты, представляющие элементы формы HTML, действительно имеют это. Но это не было ясно из вопроса. – BalusC

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