Je suis nouveau en Java et posez un problème avec afficher des données d'une liste d'objets. J'ai une méthode simple, qui devrait collecter des données sur plusieurs tables et le renvoyer à mon contrôleur: maintenant, je veux obtenir ces données dans le contrôleur, mais je ne sais pas comment obtenir résultats simples de la liste. J'ai essayé de faire quelque chose comme ceci: p> mais je n'ai que des références à ces objets (par exemple [ljava.lang.Object; @ 167A47B). J'ai aussi essayé d'utiliser Itérateur, mais le résultat est le même. J'ai essayé d'utiliser un code comme celui-ci: p> mais cela ne m'aider pas aussi - cela se termine avec une erreur de compilation. P> peut-il dire Moi comment obtenir une «id» (valeur entière) de cette liste?
J'utilise des myfaces dans ma "vue" où j'ai un code comme celui-ci (HouseControll est le nom de mon haricot géré JSF - le contrôleur): p> Ce code montre Une valeur «id» correctement - j'ai 1,2,3, ... valeurs. Comment puis-je obtenir le même résultat dans mon contrôleur? Comment imprimer les données dans le contrôleur? P> p>
5 Réponses :
<t:dataList id="myDataList" value="#{houseControlList}" var="element" rows="3" >
...
<t:outputText id="houseId" value="#{element.houseId}"/>
...
</t:dataList>
Vous devriez essayer quelque chose comme ceci ou si vous avez un objet de valeur de la maison, le résultat de la requête est du même type, puis p>
Pour les démarreurs, vous n'êtes pas itération de la liste des résultats correctement, vous n'utilisez pas l'index i du tout. Essayez quelque chose comme ceci:
List<Object> list = getHouseInfo();
for (int i=0; i<list.size; i++){
Object[] row = (Object[]) list.get(i);
System.out.println("Element "+i+Arrays.toString(row));
}
Merci à tous pour vos réponses. Une bonne solution consistait à utiliser la méthode 'Brain`s': problème résolu. Merci encore. P> p>
Aimez comme ça
for(Object[] obj : list){
String houseId = String.valueOf(obj[0]); // houseId is at first place in your query
String country = String.valueof(obj[1]); // country is at second and so on....
.......
}