有没有办法在支持bean中替换它
private int room1ad
private int room1ch
private int room1ch1
private int room1ch2
private int room1ch3
private int room1ch4
// getters & setters
并在视图中
<h:form>
<h:selectOneMenu value="#{hotelsController.room1ad}">
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
<f:selectItem itemLabel="3" itemValue="3"/>
</h:selectOneMenu>
<h:selectOneMenu value="#{hotelsController.room1ch}">
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
<f:selectItem itemLabel="3" itemValue="3"/>
</h:selectOneMenu>
<h:selectOneMenu value="#{hotelsController.room1ch1}">
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
<f:selectItem itemLabel="3" itemValue="3"/>
</h:selectOneMenu>
......
</h:form>
这看起来并不那么糟糕,但我在一个支持bean中有10个房间。
我在支持bean中想到了类似的东西
//BB
private Room room1
视图基本相同,但它会在submition之后创建对象
所以它的工作方式而不是BB中的每个房间都有6个整数我只有x个房间内部和XHTML形式将直接制作POJO而不是单独访问每个int
。
答案 0 :(得分:2)
EL支持POJO上的列表和属性,因此您可以轻松使用它:
public List<Room> getRooms();
和xhtml:
<ui:repeat value="#{hotelsController.rooms}" var="room">
<h:selectOneMenu value="#{room.ad}">
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
<f:selectItem itemLabel="3" itemValue="3"/>
</h:selectOneMenu>
.
.
</ui:repeat>