2014-09-13 3 views
0

я бы извлечь выберите значение selectOneMenu, но когда я выполнить программу этого exeception появляются:itemLabel = «# {client2.nomClient}»: Свойство «nomClient» не найден по типу java.lang.String

Etat HTTP 500 - /pages/T.xhtml @59,33 itemLabel="#{client2.nomClient}": Property 'nomClient' not found on type java.lang.String 

это мое мнение:

<p:selectOneMenu value="#{ticketBean.maValeur}" 
          style="width:210px; height:20px; font-size:10px; font-weight:1px;" 
          required="true" requiredMessage="REQUIRED"> 
          <f:selectItem itemLabel="Select Client" itemValue=""/> 
          <f:selectItems value="#{ticketBean.getMesElementsTest()}" var="client2" itemLabel="#{client2.nomClient}" itemValue="#{client2.nomClient}" 
           style="font-size:10px;"> 
          </f:selectItems> 

это мой класс клиента:

package com.model; 

public class Client { 
    private int idClient; 
    private String nomClient; 
    private String adresseClient; 
    private String telephoneClient; 
    private String mailClient; 

// GETTERS && SETTERS 
} 

это мой fonction getMe sElementsTest:

private static Map<String, Object> mesElementsTest; 
    private static ClientDaoImp clientDaoImp= new ClientDaoImp(); 
    public static Map<String, Object> getMesElementsTest() { 
     mesElementsClient = new LinkedHashMap<String, Object>(); 
     List<Client> clientlist = clientDaoImp.getAllClients(); 
     Iterator<Client> i = clientlist.iterator(); 
     while(i.hasNext()){ 
      Client client=i.next(); 
      mesElementsClient.put(client.getNomClient(),client.getNomClient()); 

     }  
     return mesElementsClient; 
    } 
+3

Пожалуйста, посту доказательства того, что '# {client2}' не экземпляр 'java.lang.String'. Вы не опровергли сообщение об исключении в любом месте вопроса. – BalusC

+0

Пожалуйста, введите код класса 'client2'. Я думаю, что это не атрибут 'nomClient'. – Cold

+0

@ColdHack client2 это не класс, это имя var, я изменил клиент класса, но не работал, а execment messege все еще – khadija

ответ

0

Вы можете использовать только List, и есть что-то вроде этого:

... 
public static List<Client> getMesElementsTest() { 
     return clientDaoImp.getAllClients();  
     } 
... 

на странице:

...  
<p:selectOneMenu value="#{ticketBean.maValeur}" style="..." required="true" requiredMessage="..."> 
     <f:selectItem itemLabel="Select Client" itemValue=""/> 
     <f:selectItems value="#{ticketBean.getMesElementsTest()}" var="client2" itemLabel="#{client2.nomClient}" itemValue="#{client2.nomClient}" style="..."> 
    </f:selectItems> 
... 

И эту форму, более эффективно, обусловленно вы не необходимо заполнить другую структуру данных.

Надеется, что это помогает

+0

Thk вы очень подходите для вашей помощи, но мои проблемы не работают в var = "Client2 «вид не найден в атрибуте по типу java.lang.String – khadija

+0

Если проблема не устранена, пожалуйста, отмените вопрос как ответ, и давайте попробуем еще раз решить настоящую проблему. Попробовали использовать как m y пример ответа? – Cold

Смежные вопросы