ungültiges Lesefeld-Skript gefunden!

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Antworten
kmeyster
Beiträge: 31
Registriert: Montag 5. Dezember 2011, 20:44

ungültiges Lesefeld-Skript gefunden!

Beitrag von kmeyster »

Hallo allerseits,
ich laboriere mit einem ungültigen Lesefeldskript für "juristische Personen" rum. Wenn ich eine Firma mit Ansprechpartner anlege wird offenbar der Versand von emails durch ein ungültiges Lesefeld-Skript unterbunden.

Mein verwendetes Skript ist die persönliche Anrede:
Anrede - Liebe, Lieber, Hallo
String r = "";
if(mitglied_geschlecht.equals("w"))
r = "Liebe " + mitglied_vorname;
else if(mitglied_geschlecht.equals("m"))
r = "Lieber " + mitglied_vorname;
else
r = "Hallo " + mitglied_vorname;
r += ",";
return r;

Offenbar hat Jverein aber ein Problem damit, dass ja bei einer Firma kein Geschlecht abgefragt wird:

Fehler beim Auswerten des Skriptes: "Sourced file: inline evaluation of: ``String r = ""; if(mitglied_geschlecht.equals("w")) r = "Liebe " + mitglied_vor . . . ''".
java.lang.NullPointerException: Null Pointer in Method Invocation

Was kann ich denn da tun?
Das Anlegen eines zweiten statischen "Skriptes" ("Sehr geehrte....") hilft auch nicht weiter

Vielen Dank für die Hilfe, Grüße, matthias
Benutzeravatar
heiner
Administrator
Beiträge: 4509
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: ungültiges Lesefeld-Skript gefunden!

Beitrag von heiner »

Ohne es ausprobiert zu haben: if (mitglied.geschlecht != null)

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
kmeyster
Beiträge: 31
Registriert: Montag 5. Dezember 2011, 20:44

Re: ungültiges Lesefeld-Skript gefunden!

Beitrag von kmeyster »

Hallo Heiner, leider nein:
Skript-Fehler:
Sourced file: inline evaluation of: ``String r = ""; if (mitglied_geschlecht != null) r = "Sehr geehrte Damen und He . . . ''


Skript:
String r = "";
if (mitglied_geschlecht != null)
r = "Sehr geehrte Damen und Herren";
else if(mitglied_geschlecht.equals("w"))
r = "Liebe " + mitglied_vorname;
else if(mitglied_geschlecht.equals("m"))
r = "Lieber " + mitglied_vorname;
else
r += ",";
return r;


Ich werde daraus nicht schlau!
Grüße, Matthias
Benutzeravatar
heiner
Administrator
Beiträge: 4509
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: ungültiges Lesefeld-Skript gefunden!

Beitrag von heiner »

Hallo Matthias,

jetzt mal eine getestete Version:

Code: Alles auswählen

String r = "";
if (mitglied_geschlecht != null)
{ 
if(mitglied_geschlecht.equals("w"))
r = "Liebe " + mitglied_vorname;
else if(mitglied_geschlecht.equals("m"))
r = "Lieber " + mitglied_vorname;
else
r = "Hallo " + mitglied_vorname;
r += ",";
}
else
{
r = "Sehr geehrte Damen und Herren,";
}
return r;
Bei leerem Geschlecht kommt "Sehr geehrte Damen und Herren," raus. Ansonsten so, wie du es vorher schon geschrieben hast.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
Heart
Beiträge: 43
Registriert: Donnerstag 16. August 2012, 12:47
Betriebssystem: Linux

Re: ungültiges Lesefeld-Skript gefunden!

Beitrag von Heart »

Hallo Heiner,

ich habe das hier eben mal getestet.
Bei leerem Geschlecht kommt "Sehr geehrte Damen und Herren," raus. Ansonsten so, wie du es vorher schon geschrieben hast.
Meine Mitglieder hatten bisher alle "Bitte auswählen" drin (vom Import her noch alle ohne Geschlecht denke ich).
Selbst bei dieser Konstellation "Bitte auswählen" erhalte ich "Hallo ...," als Anrede.
Ist "ohne Angabe" ausgewählt erhalte ich ebenfalls "Hallo ...," als Anrede.

Bei welcher Konstellation kommt dann überhaupt das "Sehr geehrte Damen und Herren," raus :?:

...müsste die anfängliche Prüfung evtl. auf einen leeren String anstatt null sein?

Code: Alles auswählen

if (mitglied_geschlecht != "")
Benutzeravatar
heiner
Administrator
Beiträge: 4509
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: ungültiges Lesefeld-Skript gefunden!

Beitrag von heiner »

Hallo Matthias,

prüfe doch mal direkt auf der Datenbank, welche Werte eingetragen sind. Ist null eingetragen, ist die Abfrage korrekt. Ist ein Leerstring eingetragen, fragst du Leerstring ab. Ist entweder das eine oder das andere eingetragen, fragst du beide Werte mit oder ab. Den Wert "ohne Angabe" hast du in deinem Code nicht abgefragt. Wenn er bei dir vorkommt, nehme die Abfrage auf.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
Antworten