primefaces的selectonemenu的奇怪的规定






当你用到p:column来在selectOneMenu中创建列的时候,就会发现这个控件的column是不完善的,首先,beanproperty不能是字符串数组,比如
String[] str={"1","2"}





这样绑定之后,无法创建列,此其一
如果你绑定了List类型的变量,然后你这样指定格式

//name属性为字符串

#{y.name}


这样的代码,一样不生效,不会创建列,和没指定column一样
如果你这样指定

//name属性为字符串

如果你这样指定,那么你会看到下拉列表显示的是每个变量的toString()返回值

//name属性为字符串

但是如果你这样指定,仅仅加个var="y",你会发现,下拉列表无法显示数据了,就是点了那个下拉按钮,下拉列表不会正确出现,就显示一条很小的白框框

//name属性为字符串

#{y.name}


但是如果你这样指定,才会出现你要的效果,列正确的被创建,但是,这一切仅仅是在火狐浏览器中。。。。。
如果你在IE下,就可能会出现错误,为什么说可能,是因为有时候正确,错误现象有,下拉列表偏离正确位置非常远,下拉列表非常宽,基本占据真个剩余空间
我认为,这是primefaces的一个BUG,目前primefaces5.1社区版,没有修正这个错误。
所以,如果需要用到下拉列表,那就别用column创建列了。

你可能感兴趣的:(JAVAEE)