我坚持使用 JSF RI 1.1_02 并看到这个问题。
这是我期望工作的 Facelet 代码:
<h:form>
<h:selectOneMenu value="#{bean.num}" converter="javax.faces.Integer">
<f:selectItem itemLabel="one" itemValue="1" />
<f:selectItem itemLabel="two" itemValue="2" />
<f:selectItem itemLabel="three" itemValue="3" />
</h:selectOneMenu>
<h:commandButton value="submit" />
<h:messages />
</h:form>
请求范围的bean:
public class Bean {
private int num;
public void setNum(Integer aNum) {
num = aNum;
}
public Integer getNum() {
return num;
}
}
我收到Validation Error: Value is not valid并且无法想象当我编写了这么少不需要任何转换器的代码时我做错了什么。我是否遗漏了一些明显的东西,或者这是 JSF RI 1.1_02 中的错误?
我可以通过简单地将支持 bean 中的属性类型更改为来解决这个问题,String
但是当(自动)转换应该为我提供时,我不得不这样做而感到沮丧。