Warnung, wenn eine Variable eingegeben wird

R

RezaScript

Bekanntes Mitglied
Hallo,

in meiner Java-Klasse (Login) habe ich die Variable username so definiert: req.setAttribute("username", req.getParameter("username"));.

Wenn ich in index.jsp nun die Variable ${username} ausgeben will, funktioniert zwar alles bestens und der Wert wird mir im Browser auch ausgegeben aber ich bekomme von Intellij folgende Warnung:
Cannot resolve variable 'username'

Wenn ich den folgenden Code benutze, verschwindet die Warnung:
<jsp:useBean id="username" scope="request" type="ch.yourclick.zt.Login"/>

Aber der Browser liefert mir ein Internal Server Error (500):
Type Exception Report
Message Beim Verarbeiten von [/backend/welcome.jsp] ist in Zeile [1] eine Ausnahme erzeugt worden
Bescrheibung The server encountered an unexpected condition that prevented it from fulfilling the request.

Was mache ich da genau falsch?
 
mihe7

mihe7

Top Contributor
Mit req.setAttribute definierst Du keine Variable, sondern legst einfach einen Wert in der Attribute-Map des Requests ab. enn Du per ${username} darauf zugreifst, wirst Du gewarnt, weil es eben keine entsprechende Variable dafür gibt. Du kannst in Deinem JSP eine Variable definieren: <% String username = (String) request.getAttribute("username"); %>

Wenn ich den folgenden Code benutze, verschwindet die Warnung:
<jsp:useBean id="username" scope="request" type="ch.yourclick.zt.Login"/>
Die Warnung verschwindet, weil Du mit id angibst, dass Du per username auf eine Bean zugreifen willst. Das type-Attribut gibt an, dass es username im request-Scope bereits gibt und gibt weiter an, dass username vom Typ ch.yourclick.zt.Login wäre. Wenn das überhaupt funktioniert, dann müsste beim Typ java.lang.String stehen.

Aber der Browser liefert mir ein Internal Server Error (500):
Im Log-File sollte sich ein kompletter Stacktrace befinden. Schau Dir den mal an.
 
R

RezaScript

Bekanntes Mitglied
Hmm, also mein JSP sieht so aus:

Code:
<% String username = (String) request.getAttribute("username"); %>
Hallo ${username}

Jetzt bekomme ich aber 2 Warnungen:
Variable 'username' is never used
und
Cannot resolve variable 'username'

Edit:
Ich habe eine andere Lösung gefunden und zwar, statt ${username} kann ich einfach ${requestScope.username} verwenden und die Warnung verschwindet.
 
Zuletzt bearbeitet:
mihe7

mihe7

Top Contributor
Ja, mit <% String username; %> wird eine lokale Variable definiert. Zugriff müsste dann in <% %> Blöcken erfolgen, z. B. <%= username %>. Die EL-Expression findet die lokale Variable nicht. Tatsächlich bräuchtest Du für das, was Du aktuell hast, noch nicht einmal ein zusätzliches Servlet, der Zugriff über den Scope ist aber schon richtig.

Möglicherweise wurden von den Betreibern des Forums ungekennzeichnete Werbetexte in meinen Beitrag eingefügt, die nicht als solche erkennbar sind. Das können beispielsweise Kursempfehlungen sein. Ich distanziere mich davon und empfehle, solchen Links nicht zu folgen.
 
R

RezaScript

Bekanntes Mitglied
Oh super, vielen Dank für diese Info! Mit <%= username %> scheint es jedenfalls bestens zu funktionieren. Hat es irgendeinen Nachteil wenn ich stattdessen nur ${requestScope.username} verwende?
 
mihe7

mihe7

Top Contributor
Das sind zwei völlig verschiedene Ansätze. Mit <% %> wird Code im Servlet erzeugt (die JSP-Dateien werden zu Servlets übersetzt), während EL-Expressions zur Laufzeit ausgewertet werden. Ich an Deiner Stelle würde so gut wie immer mit EL-Expressions ${....}, mit CDI-Beans arbeiten und auf die Angabe des Scopes im JSP verzichten.

Warum? Die JSP-Datei soll nur eine Sicht auf etwas sein und daher keine Logik enthalten. Die Logik wird in CDI-Beans und Servlets erledigen. Die Scopes werden von CDI direkt unterstützt.

Möglicherweise wurden von den Betreibern des Forums ungekennzeichnete Werbetexte in meinen Beitrag eingefügt, die nicht als solche erkennbar sind. Das können beispielsweise Kursempfehlungen sein. Ich distanziere mich davon und empfehle, solchen Links nicht zu folgen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Warnung: Unable to resolve table 'users' Java Basics - Anfänger-Themen 10
A Deadcode Warnung? Java Basics - Anfänger-Themen 4
S Warnung in Eclipse: unassigned closeable value Java Basics - Anfänger-Themen 20
Dit_ Compiler-Fehler Stringvariable ändern | Compiler warnung Java Basics - Anfänger-Themen 25
B Warnung : Dead Code. Aber wieso? Java Basics - Anfänger-Themen 10
A Variablen Type safety Warnung beseitigen Java Basics - Anfänger-Themen 3
T Liste Umformen ohne Warnung Java Basics - Anfänger-Themen 4
A Cast ohne Warnung bei Generics Java Basics - Anfänger-Themen 2
M Generics - "Unchecked cast"-Warnung wegbekommen Java Basics - Anfänger-Themen 4
O Warnung zu Generics (Java 1.6) Java Basics - Anfänger-Themen 6
C Unchecked Call? Wie Warnung beseitigen? Java Basics - Anfänger-Themen 3
S "Unchecked Cast" Warnung Java Basics - Anfänger-Themen 3
G Warnung bei abgeleiteter Klasse Java Basics - Anfänger-Themen 2
T Warnung bei LinkedList Java Basics - Anfänger-Themen 8
B DateTimeFormatter nach LocalDateTime, wenn dd.MM.yyyy oder dd.MM.yyyy mm:hh Java Basics - Anfänger-Themen 5
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
D Warum nicht true wenn Array leer ist? Java Basics - Anfänger-Themen 8
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
N Was passiert wenn wir Daten auf der Festplatte abspeichern wollen? bzgl. BufferStreams Java Basics - Anfänger-Themen 9
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
C Tabs in JTabbedPane wechseln, wenn Tabs in eigenen Klassen sind Java Basics - Anfänger-Themen 2
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
I Shutdown wenn kein Strom verfügbar Java Basics - Anfänger-Themen 4
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
B FileWatcher : Erst Rückmeldung wenn komplett kopiert? Java Basics - Anfänger-Themen 3
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
Tacofan Hangman - ist der Buchstabe vorhanden wenn ja wo kommt er vor Java Basics - Anfänger-Themen 6
T Klassen In Eingabefeld von externem Programm schreiben wenn angewählt. Java Basics - Anfänger-Themen 6
F Erste Schritte Hausaufgaben-Prob. - Iterative Prog. Zahlen aufsummieren, wenn durch k>0 teilbar. Java Basics - Anfänger-Themen 5
Excess Operatoren Wenn Variable x den Wert y hat, dann mach was Java Basics - Anfänger-Themen 11
J ServerSocket: Problem, wenn Clientverbindung gekappt wird. Java Basics - Anfänger-Themen 1
S Java Counter: nur 1 mal hochzählen auch wenn Abfrage mehrmals zutrifft. Java Basics - Anfänger-Themen 1
N Variablen ändern wenn eine andere geändert wird Java Basics - Anfänger-Themen 7
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
D In Arrayfeld schreiben wenn leer Java Basics - Anfänger-Themen 8
T Klasse von erfahren wenn Obertyp Parameter ist Java Basics - Anfänger-Themen 6
T Wenn Schaltjahr ist, soll Februar, einen Tag mehr haben, GUI mit combobox Java Basics - Anfänger-Themen 4
I Zwei Listen: Wenn nicht vorhanden löschen Java Basics - Anfänger-Themen 4
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
DStrohma Operatoren Kleiner-Zeichen in Größer-Zeichen ändern wenn boolen true? Java Basics - Anfänger-Themen 6
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
F Scanner + Stringbuilder geben leeren String aus wenn Umlaute enthalten sind Java Basics - Anfänger-Themen 29
S TextFieldFilter - Wenn Textfeld leer dann setze 0 Java Basics - Anfänger-Themen 9
P Ausnahme, wenn Attribut nicht definiert Java Basics - Anfänger-Themen 4
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
Todesbote Treeset - Wenn bestimmtes Objekt vorkommt Counter erhöhen Java Basics - Anfänger-Themen 6
D jProgressBar soll bei 100% sein wenn sql Abfrage inkl. jTable schreiben fertig ist... Java Basics - Anfänger-Themen 5
W Methoden Ausgabe true wenn nur Ziffern <= 1 vorhanden Java Basics - Anfänger-Themen 9
A Pinabfrage nur wenn Kondition zutrifft Java Basics - Anfänger-Themen 10
S Threads Thread wenn extends schon vergeben Java Basics - Anfänger-Themen 8
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
B Schlüsselworte this - immer oder nur wenn wirklich notwendig? Java Basics - Anfänger-Themen 9
X Wenn Exception dann nochmal try. Java Basics - Anfänger-Themen 7
F Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
S 0 wird negativ, wenn sie mit etwas negativen multipliziert wird. Warum? Java Basics - Anfänger-Themen 4
V Objekt löschen wenn anderes gelöscht wurde Java Basics - Anfänger-Themen 11
P new File wenn File already exists? wie? Java Basics - Anfänger-Themen 2
D Was kommt raus, wenn NaN mit einer Zahl verglichen wird? Java Basics - Anfänger-Themen 5
Anfänger2011 Wie bricht man alles ab wenn eine Bedingung nicht erfüllt ist? Java Basics - Anfänger-Themen 21
S Input/Output Reader: "null" wenn While-Ende Java Basics - Anfänger-Themen 5
L Erste Schritte Wenn Textfield.Text = ... dann Java Basics - Anfänger-Themen 16
O KeyListener funktioniert nur wenn er will Java Basics - Anfänger-Themen 2
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
S ArrayList nur ergänzen wenn Element noch nicht vorhanden Java Basics - Anfänger-Themen 4
jmar83 final wenn immer möglich verwenden? Java Basics - Anfänger-Themen 30
N Serialization, Laden klappt nicht wenn die Klasse geändert wurde Java Basics - Anfänger-Themen 3
G Klasse überschreiben wenn Rückgabe über Methode Java Basics - Anfänger-Themen 6
F While Schleife ausführen, wenn String gleich ist. Java Basics - Anfänger-Themen 2
M Java-Programm wird beendet, wenn ich Spiel öffne... Java Basics - Anfänger-Themen 11
T TCP, Empfang nur wenn wirklich etwas kommt Java Basics - Anfänger-Themen 6
E Listen vereinen, wenn Elemente am Anfang/Ende übereinstimmen Java Basics - Anfänger-Themen 2
S KeyListener aktiv auch wenn minimiert? Java Basics - Anfänger-Themen 4
L Button erscheinen wenn der Mauszeiger drüberfährt Java Basics - Anfänger-Themen 8
L Textzeilen nach 2 Wörtern untersuchen wenn vorhanden Zeile in neuen Text ausgeben wenn nicht löschen Java Basics - Anfänger-Themen 10
J JTable aktualisieren wenn TableModel sich ändert Java Basics - Anfänger-Themen 6
B Was passiert, wenn eine konkrete Klasse von generische Klasse erbt? Java Basics - Anfänger-Themen 14
K JTextField auslesen, wenn Enter gedrückt.. Java Basics - Anfänger-Themen 13
S was tun, wenn... ? Java Basics - Anfänger-Themen 2
A Events werfen/feuern wenn bestimtm methode ausgeführt wird Java Basics - Anfänger-Themen 3
W Wenn geklickt, Funktion aufrufen Java Basics - Anfänger-Themen 13
C was mach ich erst wenn die programme richtig schwer werden? Java Basics - Anfänger-Themen 2
S Stilfrage: Neue Klasse wenn es in einer Klasse zu viele Methoden gibt? Java Basics - Anfänger-Themen 14
D Was machen wenn Datenstruktur sich ständig ändert? Java Basics - Anfänger-Themen 10
G JFrame schliesst nicht mehr wenn Component hinzugefügt Java Basics - Anfänger-Themen 3
A Klasse importieren wenn 2 mal gleicher Name Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben