Passing a Enum value as a parameter from JSF
这个问题已经解决了这个问题,但是提出的解决方案并没有对我有用.我在我的支持bean中定义了以下枚举:
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
}
并在我的JSF页面中通过EL使用它
id = "commandButton_test"
value = "Testing enumerations"
action = "#{backingBean.test('SUBMITTED')}" />
到目前为止一直很好 – 与原始问题中提出的问题相同.但是我必须处理javax.servlet.ServletException:找不到方法:%fully_qualified_pa??ckage_name%.BackingBean.test(java.lang.String).
所以似乎JSF正在解释方法调用,好像我想调用一个String作为参数类型的方法(当然不存在) – 因此不会发生隐式转换.
可能是什么因素导致这个例子的行为与前面提到的不同?