2014-09-13 55 views
0

我會檢索selectOneMenu用於的選擇值,但是當我執行程序此異常出現: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 2014-09-13 14:57:06

+0

請發佈'client2'類的代碼。我認爲他沒有'nomClient'屬性。 – Cold 2014-09-15 11:26:25

+0

@ColdHack client2它不是class它是var的名字我改變了類的客戶端,但不工作,並且執行郵件仍然 – khadija 2014-09-15 15:19:40

回答

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

你很適合你的幫助,但是我的問題不在函數中它在var =「Client2 「在類型爲java.lang.String – khadija 2014-09-15 16:54:22

+0

的屬性中沒有找到該視圖如果問題仍然存在,請取消標記爲已回答的問題,然後再嘗試解決實際問題。嘗試使用m y答案的例子? – Cold 2014-09-15 16:57:32

相關問題