Passer la valeur de l'Objet en Primefaces SelectOneMenu

Bonjour, je suis à l'Aide de PrimeFaces 4.0 et j'ai besoin de passer la valeur de l'objet en SelectOneMenu.
Je suis à l'aide de convertisseur pour convertir de format de chaîne de caractères à la Classe le format de l'objet.
Ce sont les fichiers de code merci de m'aider...

lablevalue.xhtml

<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <h:head>
    </h:head>
    <h:body>
        <h:form id="myform"> 
            <p:growl showDetail="true"></p:growl>
            <p:selectOneMenu value="#{itemlableAcction.idCard}" >
                <f:converter converterId="converter.SelectMenUConverter" />
                <f:selectItem itemLabel="Select" itemValue="" />
                <f:selectItems value="#{itemlableAcction.idCards}" var="idv" itemLabel="#{idv.name}" itemValue="#{idv}" />
            </p:selectOneMenu>
            <h:commandButton action="#{itemlableAcction.onclickSubmit}" value="Submit"></h:commandButton>
        </h:form>
    </h:body>
</html>

ItemlableAcction

import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import bo.IdCard;
@ManagedBean
public class ItemlableAcction {
List<IdCard> idCards = new ArrayList<IdCard>();
IdCard idCard;
public Object getIdCard() {
return idCard;
}
public void setIdCard(IdCard idCard) {
this.idCard = idCard;
}
public List<IdCard> getIdCards() {
return idCards;
}
public void setIdCards(List<IdCard> idCards) {
this.idCards = idCards;
}
public ItemlableAcction() {
IdCard card1 = new IdCard();
card1.setId(1);
card1.setName("ABC");
card1.setAddress("USA");
idCards.add(card1);
IdCard card2 = new IdCard();
card2.setId(2);
card2.setName("MNO");
card2.setAddress("INDIA");
idCards.add(card2);
IdCard card3 = new IdCard();
card3.setId(3);
card3.setName("XYZ");
card3.setAddress("Chaina");
idCards.add(card3);
}
public String onclickSubmit() {
IdCard ic = (IdCard) idCard;
System.out.println("In action id values are " + ic.getId() + " " + ic.getAddress());
return "";
}
}

SelectMenUConverter

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import bo.IdCard;
@FacesConverter("converter.SelectMenUConverter")
public class SelectMenUConverter implements Converter {
public SelectMenUConverter() {
System.out.println("Inside converter");
}
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
System.out.println("One" + arg2);
IdCard idCard = new IdCard(arg2);
return idCard;
}
public String getAsString(FacesContext arg0, UIComponent arg1, Object value) {
System.out.println("Two" + value);
return value.toString();
}
}

Carte d'identité

public class IdCard {
String name;
int id;
String address;
public IdCard() {
}
public IdCard(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
  • s'il vous plaît changer cette xmlns:c="http://java.sun.com/jsf/core" à xmlns:f="http://java.sun.com/jsf/core" il rend mes yeux saignent.
  • Les messages d'erreur qui pourrait nous donner quelques indices?
  • Est-il une raison pour la Objet public getIdCard ne pas public carte d'identité getIdCard?
  • avez-vous jamais comprendre cela?
InformationsquelleAutor ShivamBanu | 2014-01-09