Передача значения Enum в качестве параметра из JSF
Этот вопрос уже имеет отношение к этой проблеме, однако предлагаемое решение для меня не сработало.Я определяю следующее перечисление в своем компоненте поддержки:
public enum QueryScope {
SUBMITTED("Submitted by me"), ASSIGNED("Assigned to me"), ALL("All items");
private final String description;
public String getDescription() {
return description;
}
QueryScope(String description) {
this.description = description;
}
}
Затем я использую его как параметр метода
public void test(QueryScope scope) {
// do something
}
И использую его через EL на моей странице JSF
<h:commandButton
id = "commandButton_test"
value = "Testing enumerations"
action = "#{backingBean.test('SUBMITTED')}" />
Пока все хорошо - идентично проблеме, поставленной в оригинальном вопросе.Однако мне приходится иметь дело с javax.servlet.ServletException: Method not found: %fully_qualified_package_name%.BackingBean.test(java.lang.String)
.
Так что, похоже, JSF интерпретирует вызов метода так, как если бы я хотел вызвать метод со String в качестве типа параметра (который, конечно, не существует) -следовательно, неявное преобразование не происходит.
Что может быть фактором, отличающим поведение в этом примере от вышеупомянутого?