2016-03-07 19 views
0

這裏是我的代碼:如何反映複雜的領域的Java郎

for(Agent agent : datasource) { 
    boolean match = true; 

    if (filters != null) { 
     for (Iterator<String> it = filters.keySet().iterator(); it.hasNext();) { 
      try { 
       System.out.println("********* Filter Loop **********"); 
       String filterProperty = it.next(); 
       Object filterValue = filters.get(filterProperty); 
       java.lang.reflect.Field flied=agent.getClass().getDeclaredField(filterProperty); 
       flied.setAccessible(true); 
       String fieldValue = String.valueOf(flied.get(agent)); 
       System.out.println(fieldValue +"tt"+filterValue.toString()); 
       if(filterValue == null || fieldValue.contains(filterValue.toString())) { 
        System.out.println("********* Filter Existe ***********"); 
        match = true; 
       } 
       else { 
        match = false; 
        break; 
       } 
      } catch(Exception e) { 
       System.out.println(e.toString()); 
       match = false; 
      } 
     } 

,我有這樣的例外:

java.lang.NoSuchFieldException:agentLieuNaissance.sousprefectureNom

agentLieuNaissance它refrences另一個實體

回答

0

所以你必須這樣做通常的方式。

獲得價值(對象)agentLieuNaissanceagent,然後從該對象

+0

你可以更具體的獲得sousprefectureNom的值。因爲我有另一個類似的情況,我真正想要的是告訴方法,如果我有「代理。*」做一些設置這個值可訪問 –