浏览 5146 次
锁定老帖子 主题:关于jsf的selectItem问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-11
public class Test { private Integer testint; // get and set } <h:selectOneMenu id="testint" value="#{Test.testint}" > <f:selectItem itemLabel="Value 1" itemValue="1" /> <f:selectItem itemLabel="Value 2" itemValue="2" /> </h:selectOneMenu> 提交后得到Validation Error: Value is not valid错误 初步判断应该是我定义的itemValue="1"可能被认为是字符串,在中间加了<f:convertNumber/>但还是没有用 谢谢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-11
换成myfaces实现就没有这个问题了,呵呵
|
|
返回顶楼 | |
发表时间:2007-01-11
SUN 实现的问题
|
|
返回顶楼 | |
发表时间:2007-01-12
public class Test {
private String testint; // get and set } <h:selectOneMenu id="testint" value="#{Test.testint}" > selectOneMenu这个标签只能绑字符串. |
|
返回顶楼 | |
发表时间:2007-02-09
sun的参考实现有很多问题,所以我们现在用的都是myfaces,楼上的说selectOneMenu只能绑定字符串是不正确的,所有标签接受用户输入的值传回一个request时都是文本字符串,jsf会判断你映射的属性的java类型并自动调用其内置且默认的类型转换器(所有基本java类型如Integer、String、Boolen等等,都有对应的内置类型转换器,当然也可以定义你自己的实现)进行转换,转换成功之后,会继续调用相应类型的验证器进行数据有效性的验证。楼主给出的错误消息是一个验证出错的消息,而不是转换出错,所以就算指定也是指定验证器,而不是converter(转换器),当然也不排除由于转换虽然成功,但转换的结果实际是不正确而导致验证失败的可能性的。
|
|
返回顶楼 | |
发表时间:2007-02-09
当然了,不要用sun的实现,用myfaces就好了
|
|
返回顶楼 | |
发表时间:2007-07-19
chibi 写道 换成myfaces实现就没有这个问题了,呵呵
出现同样的问题啊 |
|
返回顶楼 | |
发表时间:2007-07-19
sorry.输入错误!
|
|
返回顶楼 | |