6 Stimmen

Freemarker-Syntax für ein Formular für eine Sammlung von Objekten (Spring 3 MVC)

Ich habe eine Befehls-Bohne ( FooList ), die eine Eigenschaft hat, die eine Sammlung ist (a List de Foo Bohnen).

Ich versuche, ein Formular zu erstellen, mit dem ich alle Foo s auf einmal. Ich habe viele Beispiele für die Verwendung von JSP gefunden, aber ich habe Probleme, diese in die Freemarker-Syntax zu übersetzen.

In meiner Freemarker-Vorlage kann ich die Sammlung einfach durchlaufen:

[#list fooList.foos as foo]
...
[/#list]

Ich kann mich auch auf eine bestimmte Foo nach Index:

[@spring.bind "fooList.foos[0].name" /]
<input type="text" name="${spring.status.expression}" value="${spring.status.value?default('')}"/>

Allerdings habe ich noch nicht herausgefunden, wie ich beides gleichzeitig machen kann, um alle Foo s, um Elemente zu bilden.

Hier ist ein naiver Versuch, der fehlgeschlagen ist:

[#list fooList.foos as foo]
    [@spring.bind "fooList.foos[foo_index].name" /]
    ...
[/#list]

(Für sich allein genommen, ${foo_index} funktioniert innerhalb der Schleife).

Kann mir jemand den richtigen Weg weisen?

Danke.

3voto

Stefan Haberl Punkte 8595

Ich hatte gerade das gleiche Problem. Das hat bei mir funktioniert:

[#list fooList.foos as foo]
  <#assign item>fooList.foos[${foo_index}].name</#assign>
  [@spring.bind item /]
  ...
[/#list]

2voto

Andy Punkte 8751

Versuchen Sie es,

[#list fooList.foos as foo] 
    [@spring.bind "foo.name" /] 
    ... 
[/#list] 

Das foo in diesem Beispiel referenziert jedes Element in der Liste einzeln, gemäß der freemarker-Dokumentation zu die Listenrichtlinie .

0voto

Ich denke, sie sollte wie folgt lauten:

[#list fooList.foos as foo]
    [@spring.bind "fooList.foos[" + foo_index + "].name" /]
    ...
[/#list]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X