J'ai la selectOneMenu simple suivantePropertyNotFoundException lorsque vous appelez valueChangeListner
<h:selectOneMenu id="shop" styleClass="tcell"
value="#{shoppingcenterControler.shoppingCenterScreenBean.shoppingcenterName}"
onchange="submit()"
valueChangeListener="#{shoppingcenterControler.shopChooseAction}">
<f:selectItem itemValue="#{option.defaultShoppingcenter}" itemLabel="#{option.defaultShoppingcenter}"></f:selectItem>
<f:selectItems value="#{shoppingCenterScreenBean.shoppingcenternames}"></f:selectItems>
</h:selectOneMenu>
Lorsque j'utilise @Named
annotation sur shoppingcenterControler
je reçois un avertissement me javax.el.PropertyNotFoundException
Target Unreachable, identifier 'shoppingcenterControler' resolved to null
.
Lorsque j'utilise l'annotation @ManagedBean
Je reçois l'avertissement: Property 'shopChooseAction' not found on type com.manageMyShopping.presentation.controler.ShoppingcenterControler
, whlie shopChooseAction
est pas une propriété, il est:
public void shopChooseAction(ValueChangeEvent event){
String shopName = getShoppingCenterScreenBean().getShoppingcenterName();
if (!shopName.equals(defaultShopp)) {
for (ShoppingCenterScreenBean thisShop : Shoppinglistcontroler.getShoppinglistScreenBean().getShoppingCentersScreenBean()) {
if (!thisShop.getShoppingcenterName().equals(shopName)) {
ShoppingCenterScreenBean newShoppingcenter = new ShoppingCenterScreenBean();
newShoppingcenter.setShoppingcenterName(shopName);
ShoppinglistScreenBean shoppinglist = Shoppinglistcontroler.getShoppinglistScreenBean();
shoppinglist.getShoppingCentersScreenBean().add(newShoppingcenter);
}
}
}
}
J'ai regardé différents liens dont les suivants: One somehow similar question
Cependant, cela n'a pas fonctionné pour moi, ni j'aime les solutions truquées. Je cherche une vraie solution et je veux comprendre
- Pourquoi l'annotation
@Named
ne fonctionne pas comme prévu? J'ai ajouté la dépendance correspondante au fichierpom.xml
de mon projet. - Pourquoi
valueChnageListener
devrait leverPropertyNotFoundException
sur le nom de la méthode?
Toute aide est fortement appréciée.
Mon environnement: Fedora 24, Java 1.8, apache-tomcat 8.0.33, et j'utilise Eclipse Mars.