2017-03-10 4 views
0

Wenn in meiner Action-Klasse habe ich eine neue BeanObjectIterate in einer Sammlung Attribut eines Objekts - Struts2

MyObject obj = new MyObject(); 

und MyObject hat folgende Attribute:

private String type; 
private Collection<Animals> animalsList; 
... 

und die Animals hat folgende Attribute:

private Integer id; 
private String name; 
private String food; 

Ich was durch die Tiere iterieren mit Struts2:

<s:iterator value="obg.animalsList" status="listStatus" 
    <s:property value="id"/> 
    <s:property value="name"/> 
    <s:property value="food"/> 
</s:iterator> 

Ist dies ein richtiger Weg, das zu tun?

+1

Abgesehen von den Tippfehlern ('obg' ->' obj', fehlendes Ende '>') ist Ihr Code richtig. Es hätte viel weniger Zeit gedauert, um es selbst zu überprüfen, als eine Frage zu stellen, die uns auffordert, es für Sie zu überprüfen, obwohl –

+2

Hat es funktioniert, als Sie es versuchten? –

Antwort

0

Wenn Sie das Attribut s:iterator verwenden, stellt das Wertattribut einen OGNL-Ausdruck dar, der mit dem Kontext verglichen wird, der mit dem Wert stack verwurzelt ist. Die Aktionsklasse befindet sich über dem Wertstapel. Wenn Sie Ihr Objekt also mit der Aktionsklasse aggregieren, kann es von OGNL durchsucht werden.

Um auf sie zugreifen zu können, müssen Getter und Setter für jedes Feld im OGNL-Pfad verwendet werden. Sie können mehr über s:iterator und how to get it working erfahren.

+0

sollten Sie die akzeptierte Antwort upvote –

Verwandte Themen