我有一个以下(不言自明)的实体关系:
我有以下(不言自明)的实体关系:
* Manufacturer
* Car (Manufacturer.getCars())
* Tire (Car.getTires())
MyBean
private List<Manufacturer> allManufacturers
private Manufacturer selectedManufacturer
private Car selectedCar
private Tire selectedTire
xhtml
<p:selectOneMenu id="manufacturerSel" value="#{myBean.selectedManufacturer}" converter="#{manufacturerConverter}">
<f:selectItem itemLabel="None" itemValue="#{null}" />
<f:selectItems value="#{myBean.allManufacturers}" />
<p:ajax update="carSel tireSel" />
</p:selectOneMenu>
<p:selectOneMenu id="carSel" value="#{myBean.selectedCar}" converter="#{carsConverter}" disabled="#{empty myBean.selectedManufacturer.cars}">
<f:selectItem itemLabel="None" itemValue="#{null}" />
<f:selectItems value="#{myBean.selectedManufacturer.cars}" />
<p:ajax update="tireSel" />
</p:selectOneMenu>
<p:selectOneMenu id="tireSel" value="#{myBean.selectedTire}" converter="#{tiresConverter}" disabled="#{empty myBean.selectedCar.tires}">
<f:selectItem itemLabel="None" itemValue="#{null}" />
<f:selectItems value="#{myBean.selectedCars.tires}" />
</p:selectOneMenu>
- 根据第一个选择框的选项更新最后两个
p:selectOneMenu
- ID为
tireSel
的最后一个p:selectOneMenu
没有正确更新 - 所有需要更新的组件都在同一个
NamingContainer
中 carSel
被更新了,但是载入到tireSel
中的值很奇怪(似乎对于上次请求是有效的)- 我也尝试在
manufacturerSel
中使用update="@form"
编辑 展示所使用的EL版本: 这里是我的pom.xml的一部分
<dependency>
<groupId>javax.faces</groupId>
<artifactId>javax.faces-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.1.12</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
javax.el.ELException:无法解析表达式[#{myBean.setSelectedCar(null)}]
的错误。 - jimmybondyselectedCar
属性值。 - BalusC<p:ajax listener="#{myBean.resetSelectedCar}" ..>
调用id。 - jimmybondypom.xml
的摘录添加到帖子中。 - jimmybondy