<p:selectcheckboxmenu> display unchecked </p:selectcheckboxmenu>

时间:2014-09-29 17:59:58

标签: jsf jpa primefaces ejb-3.0

你好,我在这个组合中有一个问题:selectCheckboxMenu:

我有2个calss客户和电话。

客户拥有plusiere手机

列出手机dejat包含3个电话(phone1,phone2,Phone3)。 和限时优惠phoneNumbers列表包含一部手机(phone1)。

但问题compente p:限时优惠selectCheckboxMenu显示3个comobox不检查。

如何解决这个问题,谢谢你的帮助。

第xhtml页:

<h:form>
         <p:selectCheckboxMenu value="#{customerBeansController2.phones}"  label="Phone" converter="entrantConverter">
         <f:selectItems value="#{customerBeansController2.c2.phoneNumbers}"   var="c"    itemValue="#{c}" itemLabel="#{c}" />
    </p:selectCheckboxMenu >     
</h:form> 

ManagerBeans:


private List<Customer> customers = new ArrayList<>();    
private List<Phone>     phones = new   ArrayList<>();
private Customer c2;
@PostConstruct
public void init() {

customers = customerFacade.findAll();


this.c2=customerFacade.find(1);

phones = phoneFacade.findAll();


 } 

实体电话:

@Entity
public class Phone implements java.io.Serializable {
private static final long serialVersionUID = 1L;    @Id 
private Integer id ;    @Column(name="number")
private String number;
@Column(name="type")
private Integer type; 
......}

实体客户:

@Entity
public class Customer implements java.io.Serializable { 
@OneToMany(fetch=FetchType.EAGER)
private List<Phone> phoneNumbers = new ArrayList<>();
.....}

我要求Primfeces专家的所有人帮助我,因为我坚持这个任务已经一个月了 请和谢谢你Avence

转换器:

@FacesConverter("entrantConverter")
public class EntrantConverter implements Converter {

@EJB
private session.PhoneFacadeLocal phoneFacade;

@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
    if (value != null && value.trim().length() > 0) {
        return phoneFacade.find(Integer.parseInt(value));
    } else {
        return null;
    }
}

@Override
public String getAsString(FacesContext fc, UIComponent uic, Object object) {
    if (object != null) {
        return String.valueOf(((Phone) object).getId());
    } else {
        return null;
    }
}
}

0 个答案:

没有答案