SuperX

KontaktMail für InfosSuchenLogin

Einstufige Verarbeitung mit Freemarker

Sie können ausgefüllte Maskenfelder im select_stmt der Maske auf zweierlei Arten verarbeiten:

  • Zweistufige Verarbeitung, wo zuerst die Platzhalter mit den Feldinhalten ersetzt werden, und dann mit Freemarker
  • Einstufige Verarbeitung mit Freemarker

Hier ein einfaches Beispiel für zweistufige Verarbeitung:

  • Im select_stmt der Maske steht

Wenn in dem Maskenfeld "Suchwort" der Begriff "Schmidt" eingegeben wird, wird zur Laufzeit daraus der SQL

Dieser Code kann bei der einstufigen Verarbeitung durch diesen ersetzt werden:

Dies hat den Vorteil dass man vor dem Abschicken des SQLs noch weitere Freemarker Funktionen voranstellen kann, z.B.

Man muss allerdings aufpassen / abfangen ob überhaupt etwas im Maskenfeld eingegeben wurde.Daher nutzt man diese Technik eher bei Pflichtfeldern.

Beide Beispiele mögen anfällig für SQL-Injection aussehen, es wird aber bereits beim Abschicken der Maske, vor der tatsächlichen Ausführung der SQLs vom Servlet geprüft, ob das Suchwort Sonderzeichen wie Anführungszeichen oder Semikolon enthält, und dann ggf. zurückgewiesen mit der Meldung -Ungültige Eingabe-.