Wert einer angeklickten Zeile in einer Datentabelle abrufen

Das Fragment getClickedRowValue im EGL-Fach der Snippets-Ansicht ist eine Funktion, die für eine angeklickte Zeile in einer Datentabelle den mit Hyperlink verknüpften Wert abruft.

Dieses Fragment muss in einen EGL-JSF-Handlerabschnitt eingefügt werden. Es gelten folgende Voraussetzungen für das Fragment:
  1. Die JSP enthält eine Datentabelle.
  2. Die Namen der JSP-Bezeichner sind die Standardnamen.
  3. Die Seite ist in der Datei 'faces-config.xml' als request im Geltungsbereich und nicht als session definiert.
Gehen Sie wie folgt vor, um dieses Fragment einzufügen und zu konfigurieren:
  1. Definieren Sie in einem JSF-Handler eine Zeichen- oder Zeichenfolgevariable zum Abrufen des Wertes für angeklickte Elemente.
  2. Setzen Sie den Cursor im JSF-Handler in eine leere Zeile, in der eine Funktion hinzugefügt werden darf. (Dieses Fragment enthält eine vollständige EGL-Funktion.)
  3. Doppelklicken Sie im EGL-Fach der Snippetsicht auf das Fragment 'Wert der Zeile ermitteln, auf die geklickt wurde'. Das Fenster 'Vorlage einfügen' wird geöffnet. Weitere Informationen hierzu finden Sie im Artikel EGL-Codefragmente einfügen.
  4. Geben Sie im Fenster 'Vorlage einfügen' den Namen der Variable als Wert für die Variable receivingVar ein.
  5. Klicken Sie auf 'Einfügen'.
  6. Fügen Sie in der Palettenansicht im Fach 'Erweiterte Faces-Komponenten' einen Befehls-Hyperlink auf ein Feld in der Datentabelle ein.
  7. Geben Sie als Ziel des Befehls-Hyperlinks den Namen der JSP an. Der Hyperlink ist mit der Seite verknüpft, auf der er sich befindet.
  8. Fügen Sie einen Parameter zum Hyperlink hinzu und benennen Sie den Parameter genauso wie die Variable im JSF-Handler, mit dem die Werte für angeklickte Elemente abgerufen werden.
  9. Legen Sie in der Eigenschaftsansicht auf der Registerkarte 'Alle' die Eigenschaft action auf die Funktion getVal() fest.
Mit diesem Fragment wird der folgende Code eingefügt:
function getVal()
	javaLib.store((objId)"context", 
   "javax.faces.context.FacesContext",
   "getCurrentInstance");
	javaLib.store((objId)"root", 
   (objId)"context", "getViewRoot");
	javaLib.store((objId)"parm", 
   (objId)"root", 
   "findComponent",
   "form1:table1:param1");
	recVar = javaLib.invoke((objId)"parm", 
                          "getValue");
end

Feedback