Methodenaufruf per String?

Status
Nicht offen für weitere Antworten.

Samson_Miller

Bekanntes Mitglied
Ich habe eine .jsp Seite auf der zwei Select Boxen definiert werden.

Code:
<select name="prefix" >
	<option value="get">get</option>
	<option value="set">set</option>
</select>

<select name="suffix" >
	<option value="Error">Error</option>
	<option value="Message">Message</option>
</select>

Auf der Seite des Servers möchte ich nun in Abhängigkeit von der Auswahl des Benutzers die jeweilige Methode aufrufen. Der Methodenname setzt sich aus den ausgewählten Einträgen beider Selectboxen zusammen, also "getError", "getMessage", "setError" oder "setMessage".

Wie kann ich jetzt die richtige Methode aufrufen? Bisher habe ich das mit einem if else Konstrukt gemacht:

Code:
if(prefix.equals("get")) {
	 if(suffix.equals("Error")){
		 getError();
	 } else if(suffix.equals("Message")){
                 getMessage();
	 } 
} else if(prefix.equals("set")) {
	 if(suffix.equals("Error")){
		setError();
	 } else if(suffix.equals("Message")){
		setMessage();
	 } 
}

Gibt es da vielleicht eine einfachere Möglichkeit? Vielleicht die Methode über die Konkatenation der beiden Strings aufrufen, also:

Code:
prefix+suffix+"();"

geht das überhaupt?
 
S

SlaterB

Gast
mit Reflection geht das, aber schön ist das ganz gewiss nicht,

mal sehen ob dir jemand einen Befehl wie "System"+"."+"exit()" reinhackt oder schlimmeres ;)
 

quippy

Bekanntes Mitglied
Reflection ist durchaus was feines - aber auch schwehr zu beherrschen und hat auch andere Nachteile (z.B. wenn man Crossreferenzlisten erstellen muss)

Die "System.exit()" Attacke geht hier jetzt nicht, da nur die Nachricht, nicht aber das Objekt, an welche sie gesendet werden soll, mitgegeben wird.
 
S

SlaterB

Gast
> da nur die Nachricht, nicht aber das Objekt, an welche sie gesendet werden soll, mitgegeben wird

kommt noch, kommt noch ;)
 

foobar

Top Contributor
Bei 4 Möglichkeiten tut es doch auch eine einfache Map<String, MyAction> wobei MyAction ein simples Interface ist, um die enstprechende Geschäftslogikmethode aufzurufen.

Code:
public interface MyAction
{
   public void invoke();
}

...
Map<String, MyAction> actions = new HashMap<String, MyAction>();
actions.put("getMessage", new MyAction{public void invoke(){// dosomethting }});
usw.
...

Aufrufen dann mit:

Code:
actions.get(prefix+suffix).invoke();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
M Thymleaf Methodenaufruf Allgemeine Java-Themen 4
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
mrbig2017 Kapselung Methodenaufruf in DLL schlägt fehl! Allgemeine Java-Themen 1
S Methodenaufruf in Unterklassen Allgemeine Java-Themen 3
F Methodenaufruf mit abgeleiteter Klasse als Arg... Allgemeine Java-Themen 10
O Zeitbedingter Methodenaufruf Allgemeine Java-Themen 1
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
D Frage und Antwort Programm, Problem bei Methodenaufruf Allgemeine Java-Themen 3
127.0.0.1 Methodenaufruf -cannot find symbol- Allgemeine Java-Themen 14
S Methoden Unerwarteter Methodenaufruf Allgemeine Java-Themen 5
T Polymorphie Statischer Methodenaufruf einer Kindsklasse Allgemeine Java-Themen 4
pg1337 Methodenaufruf Allgemeine Java-Themen 22
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
R Java Parameterabfrage bei Methodenaufruf Allgemeine Java-Themen 4
MQue Performance Methodenaufruf - if Abfrage Allgemeine Java-Themen 19
B Problem mit Methodenaufruf in Konstruktor Allgemeine Java-Themen 6
S Bekomme nullwerte bei methodenaufruf in versch. Klassen Allgemeine Java-Themen 16
W Sequentieller Methodenaufruf -> UML Allgemeine Java-Themen 10
G [Reflection + WebService] Methodenaufruf an einem Proxy Allgemeine Java-Themen 11
G Fehler bei Methodenaufruf Allgemeine Java-Themen 30
P Methodenaufruf von catch Allgemeine Java-Themen 2
MQue Methodenaufruf auf der Insel Allgemeine Java-Themen 4
MQue Methodenaufruf von wem? Allgemeine Java-Themen 11
egrath Zu langsamer Methodenaufruf Allgemeine Java-Themen 4
N Methodenaufruf wiederholbar machen? Allgemeine Java-Themen 2
H Methodenaufruf Allgemeine Java-Themen 5
D Probleme mit Methodenaufruf von Klasse in dll (jni) Allgemeine Java-Themen 19
M Vergleich im geordeten Vector und Methodenaufruf Allgemeine Java-Themen 2
byte Methodenaufruf per Reflection? Allgemeine Java-Themen 2
B Methodenaufruf Allgemeine Java-Themen 6
S Methodenaufruf Allgemeine Java-Themen 4
C EML Email Text in String wandeln Allgemeine Java-Themen 9
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
F Datei in String-Array einlesen Allgemeine Java-Themen 8
S Marker aus String ermitteln Allgemeine Java-Themen 5
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J String - Vergleiche Allgemeine Java-Themen 7
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
G CSV in String Allgemeine Java-Themen 7
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
F In String 2 Buchstaben vertauschen Allgemeine Java-Themen 2
J Class Decompile als String (Procyon) Allgemeine Java-Themen 2
I Datentypen String in class sicher verwahren Allgemeine Java-Themen 17
J Falls der String ein "X" beinhaltet Allgemeine Java-Themen 2
T String mehrere Worte Allgemeine Java-Themen 2
D String Groß-/Kleinschreibung Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben