Frage

Wenn ich setzte ein Objekt namens „foo“ in Modell im Frühjahr Controller und will ihren Umfang begrenzen, wie kann ich dies tun.

Lassen Sie uns sagen, dass ich eine Seite, die eine jsp-Tag verwendet, der als Parameter „foo“ nimmt. Wenn ich den Tag in jsp, wie <tag foo="${bar}" /> nennen, scheint es mir, dass das Modell „foo“ mit dem „bar“ stört.

Oder auch nicht, wenn, wenn ich den Umfang des Modell „foo“ nur begrenzen will zugänglich sein nur in jsp Seite, und in anderen nicht (entweder in ‚ed-Seite oder in einem Tag, die ersten jsp Seite Anrufe.)

War es hilfreich?

Lösung

Im Grunde können Sie den Umfang nicht einschränken. Die einzige Möglichkeit, Objekte von einem Controller zu der Ansicht zu übergeben ist über die Anfrage Umfang Attribute.

Wenn Sie eine Menge von verschiedenen Ansichten / Controller für eine einzelne Seite haben möchten, können Sie eine Namenskonvention haben, für Ihre Anfrage Attribute, so etwas wie der Klassenname des Controllers. Nur Problem ist sie, dass der Zugriff auf nicht so sauber ist

${requestScope['com.your.app.Controller.RESULT']}

Eine mögliche verwenden Seite Umfang Versionen der Variablen zu erstellen:

<c:set var='result' value="${requestScope['com.your.app.Controller.RESULT']}"/>
...
${result}

In Ihrem Beispiel ich bin nicht sicher, würde ich sagen, dass ‚foo‘ stören mit ‚bar‘ es sieht aus wie Sie bar mit dem Tag als Parameter sind vorbei?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top