2013-10-01 9 views
7

A jstl Variable wird in Anforderung Umfang in einer JSPWann kann requestScope in jstl verwendet werden?

<c:set var="name" value="Tiger" scope="request" /> 

Diese Variable zugegriffen wird aus einem JSPF dieser JSP enthalten eingestellt. Gibt es einen Unterschied beim Zugriff auf die Variable auf diese zwei Arten?

1) <c:out value="${name}" /> 
2) <c:out value="${requestScope.name}" /> 

Wann ist requestScope zu verwenden?

Antwort

20

Sie verwenden requestScope, wenn Sie unbedingt möchten, dass Ihr Objekt von der Anfrage kommt und nicht vom Seiten-, Sitzungs- oder Anwendungsumfang. Eingeschaltet, mit ${name} wird nach einem name Attribut auf der Seite, dann in der Anfrage, dann in der Sitzung, dann in der Anwendung suchen.

Nehmen wir an, dass ein anderer Code in der JSP ein Attribut name im Seitenbereich festgelegt hat. Aber Sie möchten auf den Namen in der Anfrage zugreifen: Sie müssen requestScope verwenden.

Nehmen wir an, die Sitzung könnte ein name Attribut haben. Wenn Sie requestScope.name nicht verwenden, wird der sitzungsbereichsspezifische Name zurückgegeben, wenn die JSP vergessen hat, das Namensattribut im Anforderungsbereich festzulegen.

Wenn das Ziel des JSP-Fragments darin besteht, auf etwas zuzugreifen, das in der umschließenden JSP gesetzt ist, sollte dieses JSP-Fragment ein JSP-Tag sein, und Sie sollten den Namen als Argument an dieses Tag übergeben.

1

Im Rahmen meiner Forschung (ich bin auch neu für jstl) kann Anfrage Umfang Werte Seite von Antwortseite zum Beispiel beantragen davon aus, dass wir eine Seite namens index.jsp und seine Aktionsseite haben, ist index_action.jsp

wenn wir, Sollwerte an die Aktionsseite

<c:set var="nme" scope="request" value="Janaka aravinda"/> 
<% request.getRequestDispatcher("index.jsp").forward(request, response); %> 

(// habe ich nme Variable und setzen Sie den Wert als Janaka aravinda. und zurück Anfrage Seite (index.jsp))

Jetzt neu geladen werden wir nme in index.jspnme Variable nennen kann wie folgt anfordern Wert

<c:out value="${nme}"/> 
Verwandte Themen