当你用到p:column来在selectOneMenu中创建列的时候,就会发现这个控件的column是不完善的,首先,beanproperty不能是字符串数组,比如
String[] str={"1","2"}
这样绑定之后,无法创建列,此其一
如果你绑定了List类型的变量,然后你这样指定格式
#{y.name}
这样的代码,一样不生效,不会创建列,和没指定column一样
如果你这样指定,那么你会看到下拉列表显示的是每个变量的toString()返回值
但是如果你这样指定,仅仅加个var="y",你会发现,下拉列表无法显示数据了,就是点了那个下拉按钮,下拉列表不会正确出现,就显示一条很小的白框框
#{y.name}
但是如果你这样指定,才会出现你要的效果,列正确的被创建,但是,这一切仅仅是在火狐 浏览器中。。。。。
如果你在IE下,就可能会出现错误,为什么说可能,是因为有时候正确,错误现象有,下拉列表偏离正确位置非常远,下拉列表非常宽,基本占据真个剩余空间
我认为,这是primefaces的一个BUG,目前primefaces5.1社区版,没有修正这个错误。
所以,如果需要用到下拉列表,那就别用column创建列了。