# Variablen statt Java-Methoden in EL's



## Raumsonde (27. Aug 2009)

Java-Methoden dürfen ja nicht in EL verwendet werden.

Frage 1:
Gibt es daher für *jede* in HttpServletRequest oder HttpServletResponse definierte Methode eine
äquivalente Variable in EL?

Beispiel:

als Expression:

```
<c:out value="<%= request.getQueryString() %>"/>
```

als EL Expression:

```
<c:out value="${pageContext.request.queryString}"/> <%-- Funktioniert! --%>
```

Frage 2:
Bezogen auf mein obiges Beispiel:
Ich finde bei Java EE 5 weder unter HttpServletRequest noch unter pageContext eine Variable queryString, aber ich kann sie trotzdem nutzen.

In welcher Klasse/welchem Interface werden die EL-Variablen definiert,
die Java-Methoden ersetzen können?


----------



## maki (27. Aug 2009)

Eine Liste der sog. Implizieten Objekte einer JSP findest du in der JSP Spek. unter SP.1.8.3.

queryString ist da auch nicht dabei, welche JSP Version nutzt du denn?


----------



## Raumsonde (27. Aug 2009)

maki hat gesagt.:


> Eine Liste der sog. Implizieten Objekte einer JSP findest du in der JSP Spek. unter SP.1.8.3.
> queryString ist da auch nicht dabei, welche JSP Version nutzt du denn?



Ich nutze als Webcontainer Tomcat 6.0.18.
Demnach müßte ich hiernach: Apache Tomcat - Which Version Do I Want?
ServletSpec. 2.5 und JSP Spec 2.1 nutzen.


----------



## Raumsonde (28. Aug 2009)

Hier: JSTL Print Page Context : Page ContextJSTLJava werden z.B.
auch einfach den Methoden äquivalente Variablennamen genutzt, die offensichtlich
die gleiche Funktion wie die Methoden haben.
Meine Frage weiterhin: Wo werden diese Variablen definiert?


----------



## maki (28. Aug 2009)

queryString ist teil des Request Interfaces, als Readonly Property (getQueryString).

Sind dir die JavaBean Konventionen klar?


----------

