Form (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 17: Zeile 17:
 
! Name || Type || Required || Default || ab IES Version
 
! Name || Type || Required || Default || ab IES Version
 
|-
 
|-
| <code>command</code> ([[deprecated]])
+
|-
| [[Expression]]
+
| <code>uri</code>
 +
| [[Text]]
 +
| Ja oder <code>template</code>
 +
| None
 +
| 2
 +
|-
 +
| <code>template</code>
 +
| [[Attribute]]
 
| Ja oder <code>uri</code>
 
| Ja oder <code>uri</code>
 
| None
 
| None
| 1
+
| 2
 +
|-
 +
| <code>handler</code>
 +
| [[Text]]
 +
| Nein
 +
| None
 +
| 2
 +
|-
 +
| <code>module</code>
 +
| [[Text]]
 +
| Nein
 +
| None
 +
| 2
 
|-
 
|-
| <code>uri</code>
+
| <code>context</code>
 
| [[Text]]
 
| [[Text]]
| Ja oder <code>command</code>
+
| Nein
 
| None
 
| None
| 1
+
| 2
 
|-
 
|-
| <code>handler</code>
+
| <code>nameencoding</code>
 
| [[Text]]
 
| [[Text]]
 
| Nein
 
| Nein
Zeile 47: Zeile 66:
 
| 1
 
| 1
 
|-
 
|-
{{sp_common_attributes|attribute=locale|mode=row}}
+
| <code>id</code>
 +
| [[Text]]
 +
| Nein
 +
| None
 +
| 1
 
|-
 
|-
 
| <code>name</code>
 
| <code>name</code>
Zeile 54: Zeile 77:
 
| None
 
| None
 
| 1
 
| 1
 +
|-
 +
| <code>command ([[deprecated#2.0|deprecated]] ab Version 2.0)</code>
 +
| [[Text]]
 +
| Ja oder <code>uri</code> oder <code>information</code>
 +
| None
 +
| 1
 +
|-
 +
{{sp_common_attributes|attribute=locale|mode=row}}
 +
 
|-
 
|-
 
{{sp_input_attributes|attribute=dynamics|mode=row}}
 
{{sp_input_attributes|attribute=dynamics|mode=row}}
 
|}
 
|}
  
;<code>command</code> ([[deprecated]])
 
:Name des Command. Aus dem Command erstellt der Tag die richtige URL. Dieses Attribut ist veraltet und wird in zukünftigen Versionen des IES nicht mehr unterstüzt werden. Verwenden statt dessen die Attribute <code>uri</code> und <code>handler</code>.
 
  
 
;<code>uri</code>
 
;<code>uri</code>
:URI zu der Seite, die aufgerufen werden soll.
+
:Dies kann ein beliebiger Pfad zu einer Seite sein. sp:form sorgt dafür, das alle Session-Informationen mitgesendet werden, so das die Session nicht verloren geht.
 +
 
 +
;<code>template</code>
 +
:Template, an das das Formular gesendet werden soll. Dieses Attribute sollte nur für Umstellungen von Live-Seiten verwendet werden, die sich durch den Wegfall der Kommandos ergeben. Prinzipiell sollte Live-Seiten und insgesamt [[Webapplication|Webapplikationen]] nicht mit Templates, sondern mit SPML-Seite realisiert werden.
  
 
;<code>handler</code>
 
;<code>handler</code>
:Handler, der die mitgesendeten Parameter auswerten soll.
+
:Handler, an das das Formular gesendet werden soll. Handler werden vor der, mit <code>uri</code> oder <code>template</code> angegebenen Seite, ausgeführt.
 +
 
 +
;<code>module</code>
 +
:SPML-Seiten sind immer Teil einer [[Webapplication|Webapplikation]]. Jede Webapplikation besitzt eine Context-Pfad mit der die URL beginnt (Es existert auch ein ROOT-Context-Pfad (/)). Soll das Formular an eine Seite gesendet werden, die in einer anderen Webapplikation liegt, so wird mit diesem Attribut die ID dieser Webapplikation angegeben.
 +
 
 +
;<code>context</code>
 +
:SPML-Seiten sind immer Teil einer [[Webapplication|Webapplikation]]. Jede Webapplikation besitzt eine Context-Pfad mit der die URL beginnt (Es existert auch ein ROOT-Context-Pfad (/)). Soll die URL einer Seite herausgeschrieben werden, die in einer anderen Webapplikation liegt, so wird mit diesem Attribut der Context-Pfad angegeben. Context-Pfade von Webapplikationen können sich ändern. Damit auch bei solchen Änderungen die URL richtig generiert wird sollte in den meisten Fällen eher das Attribut <code>module</code> verwendet werden.
 +
 
 +
;<code>nameencoding</code>
 +
:Die innerhalb von sp:form liegenden Input-Tags ([[sp:text]], [[spt:text]], [[sp:checkbox]], ...) erhalten vom IES generierte Feldnamen die unter Umständen (wenn sie z.B. innerhalb von [[sp:iterator]] liegen) Sonderzeichen wie eckige Klammern (<code>[</code>, <code>]</code>) enthalten könne. Beim Aufbau von [[Live-Seite|Live-Seiten]], die in PHP eingebettet sind, wird das Formular an PHP-Seiten gesendet. Da Request-Parameternamen mit Sonderzeichen von PHP nicht richtig ausgewertet werden, ist es mit diesem Attribut möglich die Formularfeldnamen zu encoden, damit keine Sonderzeichen mehr enthalten sind. Vom IES unterstüzte Encodings für Feldnamen sind:
 +
:;hex
 +
::Wandelt jedes Zeichen des Feldnamens in den entsprechenden Hex-Wert um. Beispiel
 +
 
 +
;<code>command</code> ([[deprecated#2.0|deprecated]] ab Version 2.0)
 +
:'''''Deprecated.''' Dieses Attribut ist veraltet und wird in zukünftigen Versionen nicht mehr unterstüzt werden. Kommandos wurden in der Version 2.0 abgeschafft zugunsten einer flexibleren Lösung abgeschafft. Ein Kommando bestand aus einem Template mit einem optionalen Handler. Für jede Template-Handler-Kombination musste ein eigenes Kommando angelegt werden. Diese Verbindung wurde aufgebrochen und durch zwei neue Attribute <code>template</code> und <code>handler</code> ersetzt. Um einen Handler aufzurufen und anschließend ein Template auszuführen ist nun die Definition eines Kommandos nicht mehr nötig. Um einen Handler auszurufen und anschließend ein Template auszuführen verwenden sie die beiden Attribute <code>handler</code> und <code>template</code>. Um einen Handler aufzurufen und anschließend eine SPML-Seite auszuführen verwenden sie die Attribute <code>handler</code> und <code>uri</code>.''
 +
 
 +
:Existierendes Command. Muss im GUI definiert worden sein.
  
 
;<code>enctype</code>
 
;<code>enctype</code>
Zeile 77: Zeile 126:
 
:Bestimmt die Übertragungsmethode: get oder post. Bei get werden die Parameter offen über die aufzurufende URL übermittelt, bei post verborgen im HTTP-Protokoll. Für Datei-uploads ist post Pflicht.
 
:Bestimmt die Übertragungsmethode: get oder post. Bei get werden die Parameter offen über die aufzurufende URL übermittelt, bei post verborgen im HTTP-Protokoll. Für Datei-uploads ist post Pflicht.
 
{{sp_common_attributes|attribute=locale|mode=desc}}
 
{{sp_common_attributes|attribute=locale|mode=desc}}
 +
 +
;<code>id</code>
 +
:Optionale id für den erzeugten HTML-Form-Tag. Wird dieses Attribut nicht gesetzt wird automatisch eine ID generiert
  
 
;<code>name</code>
 
;<code>name</code>
 
:Optionaler Name für das erzeugte Formular.
 
:Optionaler Name für das erzeugte Formular.
{{sp_input_attributes|attribute=dynamics|mode=desc}}rden.
+
{{sp_input_attributes|attribute=dynamics|mode=desc}}.
  
 
==Beispiele==
 
==Beispiele==

Version vom 20. Juni 2008, 12:23 Uhr

Name

<sp:form> - Erzeugt ein HTML-Form-Tag

Syntax

<sp:form command="command" enctype="multipart/form-data" method="post">
   ...
</sp:form>

Beschreibung

Erzeugt eine HTML-Form. Diese Tag wird benötigt, um Eingabe-Maken zu erstellen, mit denen Daten des Servers bearbeitet werden sollen.

Attribute

Name Type Required Default ab IES Version
uri Text Ja oder template None 2
template Attribute Ja oder uri None 2
handler Text Nein None 2
module Text Nein None 2
context Text Nein None 2
nameencoding Text Nein None 1
enctype Text Nein None 1
method Text Nein None 1
id Text Nein None 1
name Text Nein None 1
command (deprecated ab Version 2.0) Text Ja oder uri oder information None 1
locale Locale Nein None 1
Dynamische Attribute Text Nein None 1


uri
Dies kann ein beliebiger Pfad zu einer Seite sein. sp:form sorgt dafür, das alle Session-Informationen mitgesendet werden, so das die Session nicht verloren geht.
template
Template, an das das Formular gesendet werden soll. Dieses Attribute sollte nur für Umstellungen von Live-Seiten verwendet werden, die sich durch den Wegfall der Kommandos ergeben. Prinzipiell sollte Live-Seiten und insgesamt Webapplikationen nicht mit Templates, sondern mit SPML-Seite realisiert werden.
handler
Handler, an das das Formular gesendet werden soll. Handler werden vor der, mit uri oder template angegebenen Seite, ausgeführt.
module
SPML-Seiten sind immer Teil einer Webapplikation. Jede Webapplikation besitzt eine Context-Pfad mit der die URL beginnt (Es existert auch ein ROOT-Context-Pfad (/)). Soll das Formular an eine Seite gesendet werden, die in einer anderen Webapplikation liegt, so wird mit diesem Attribut die ID dieser Webapplikation angegeben.
context
SPML-Seiten sind immer Teil einer Webapplikation. Jede Webapplikation besitzt eine Context-Pfad mit der die URL beginnt (Es existert auch ein ROOT-Context-Pfad (/)). Soll die URL einer Seite herausgeschrieben werden, die in einer anderen Webapplikation liegt, so wird mit diesem Attribut der Context-Pfad angegeben. Context-Pfade von Webapplikationen können sich ändern. Damit auch bei solchen Änderungen die URL richtig generiert wird sollte in den meisten Fällen eher das Attribut module verwendet werden.
nameencoding
Die innerhalb von sp:form liegenden Input-Tags (sp:text, spt:text, sp:checkbox, ...) erhalten vom IES generierte Feldnamen die unter Umständen (wenn sie z.B. innerhalb von sp:iterator liegen) Sonderzeichen wie eckige Klammern ([, ]) enthalten könne. Beim Aufbau von Live-Seiten, die in PHP eingebettet sind, wird das Formular an PHP-Seiten gesendet. Da Request-Parameternamen mit Sonderzeichen von PHP nicht richtig ausgewertet werden, ist es mit diesem Attribut möglich die Formularfeldnamen zu encoden, damit keine Sonderzeichen mehr enthalten sind. Vom IES unterstüzte Encodings für Feldnamen sind:
hex
Wandelt jedes Zeichen des Feldnamens in den entsprechenden Hex-Wert um. Beispiel
command (deprecated ab Version 2.0)
Deprecated. Dieses Attribut ist veraltet und wird in zukünftigen Versionen nicht mehr unterstüzt werden. Kommandos wurden in der Version 2.0 abgeschafft zugunsten einer flexibleren Lösung abgeschafft. Ein Kommando bestand aus einem Template mit einem optionalen Handler. Für jede Template-Handler-Kombination musste ein eigenes Kommando angelegt werden. Diese Verbindung wurde aufgebrochen und durch zwei neue Attribute template und handler ersetzt. Um einen Handler aufzurufen und anschließend ein Template auszuführen ist nun die Definition eines Kommandos nicht mehr nötig. Um einen Handler auszurufen und anschließend ein Template auszuführen verwenden sie die beiden Attribute handler und template. Um einen Handler aufzurufen und anschließend eine SPML-Seite auszuführen verwenden sie die Attribute handler und uri.
Existierendes Command. Muss im GUI definiert worden sein.
enctype
Bestimmt den Typ der zu übertragenden Daten:
text/plain
text/plain ist die default Einstellung.
multipart/form-data
Für Datei uploads muss multipart/form-data angegeben werden.
method
Bestimmt die Übertragungsmethode: get oder post. Bei get werden die Parameter offen über die aufzurufende URL übermittelt, bei post verborgen im HTTP-Protokoll. Für Datei-uploads ist post Pflicht.
locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
id
Optionale id für den erzeugten HTML-Form-Tag. Wird dieses Attribut nicht gesetzt wird automatisch eine ID generiert
name
Optionaler Name für das erzeugte Formular.
Dynamische Attribute
Dynamische Attribute sind beliebige HTML-Attribute, die evaluiert und bis zum HTML-Tag durchgereicht werden..

Beispiele

Neuen Artikel anlegen

Template Quelltext

<sp:form uri="mytest/test.spml" handler="com.sitepark.ies.control.jsp.handler.InformationHandler" method="post">

  <input type="hidden" name="SYS_INFE_action" value="create"/>
  <input type="hidden" name="SYS_INFE_target" value="<sp:print name="${targetPool}"/>"/>
  <input type="hidden" name="SYS_INFE_type" value="resouce"/>

  Name<br>
  <input type="text" name="SYS_INFE_name"/><br>
  <br>

  Titel<br>
  <sp:text name="sp_title"/><br>
  Text<br>
  <sp:textarea name="sp_body"/><br>

</sp:form>