Wie übertrage ich Werte von JSP zum Kacheln-Attribut?

8

Ich konvertiere eine bestehende Tiles 1 Webapp in Tiles 2 Architektur. Ich habe Probleme, Werte von JSP-Seite an Kacheln-Attribute zu übergeben.

Hier ist meine Kacheldefinitionsdatei (tiles-definition.xml)

%Vor%

Das Layout.jsp sieht folgendermaßen aus:

%Vor%

Ich habe eine Story-Seite, die das Layout verwendet und Werte an Template-Attribute übergeben muss.

%Vor%

In der story.jsp kann ich System.out.print () die Werte für mytitle, myheader und sie zeigen korrekt. Diese Werte werden jedoch NICHT an die Kachelattribute übergeben.

Irgendeine Idee, wie Sie das beheben können?

    
Srinath Dasu 18.01.2012, 19:18
quelle

1 Antwort

17

${mytitle} ist ein JSP-EL-Ausdruck, der Folgendes bedeutet: Suchen nach einem Attribut im Seitenbereich oder Anforderungsbereich oder Sitzungsbereich oder Anwendungsbereich mit dem Namen "mytitle".

Wenn Sie eine Scriptlet-Variable definieren, haben Sie in keinem dieser Bereiche ein Attribut definiert. Es würde funktionieren, wenn Sie

hätten %Vor%

Die Verwendung von Scriptlets in JSPs ist jedoch eine schlechte Übung. Ich weiß nicht, woher deine Story-Bean kommt, aber es ist wahrscheinlich ein Anforderungsattribut. Wenn dies der Fall ist, können Sie auf diese Weise mit der JSTL ein neues Attribut für den Seitenbereich definieren:

%Vor%

Dies ist jedoch unnötig, da Sie diesen Ausdruck direkt im Kacheln-Tag verwenden könnten:

%Vor%

Lesen Sie mehr über die JSP EL in diesem Tutorial .

    
JB Nizet 18.01.2012, 22:09
quelle

Tags und Links