В отличие от "простой Java", независимо от того, используете ли вы одинарные или двойные кавычки в EL, они представляют оба экземпляра java.lang.String
. Ваш метод возвращает экземпляр java.lang.Character
, поэтому он никогда не вернет true
при вызове equals()
между обоими экземплярами.
Решение состоит в том, чтобы изменить его на тип возврата String
или boolean
. Имя свойства isMultiple
настоятельно рекомендует boolean
. Вам нужно только удалить это is
из имени свойства и сохранить его в методе получения.
private boolean multiple;
public boolean isMultiple() {
return multiple;
}
#{q.multiple}
Альтернативой является использование enum
. Это применимо только в том случае, если у вас более двух состояний (или, возможно, три, Boolean
также включает null
).