PrimeFaces DataGrid Click "simulieren"

P

PFling

Gast
Hi,

ich bin gerade dabei mit Unit tests rumzuprobieren und da würde mich jetzt interessieren, wie ich bei einer PrimeFaces Tabelle auf die nächste Seite navigieren kann mittels:

Java:
HtmlPage page = webClient.getPage(url);
page.getElementById(nextId).click();

Was muss nextId für einen Wert haben, dass das klappt.

ich hatte schon sowas wie
Code:
yui-pg0-0-next-link

allerdings bekomme ich da eine NullPointerException

hat jemand eine Ahnung?
 
P

PFling

Gast
ok, dann anderstherum. An die Tabelle komme ich ran über getElementById.
Kann ich dann über die Tabelle irgendwie an die Navigationsleiste kommen?
Sowas wie getNextElement hab ich nicht gefunden, nur getChildElements.
Allerdings bekomm ich da einen Wert vom Typ Iterable<HtmlElement> zurück und damit
weiß ich nichts anzufangen
 

Fant

Bekanntes Mitglied
Sprichst du nun von einer DataTable, einem DataGrid oder wirklich einer normalen Tabelle? Das ist sind ja schon verschiedene Dinge...

In deine DataTable bzw -Grid steckst du doch irgendeine Datenstruktur rein, die das Interface Iterable implementiert (Iterable (Java Platform SE 6)). Über deine child-Elemente kannst du also auch iterieren, wenn du das möchtest und dir denn passenden dabei rauspicken.
 

lill

Mitglied
sry, verwechsle DataGrid und DataTable immer. Meine eine DataTable.

ich iteriere folgendermaßen:

Java:
        HtmlElement el2 = page.getElementById("booksTable");
       Iterable<HtmlElement> kinder = el2.getChildElements();
    
     	String text = kinder.toString();
  
   
        for (HtmlElement s : kinder) {
        	  System.out.println("ID" + s.getId().toString());
        	  System.out.println("Name" + s.getLocalName());
        	}

Das Problem ist dass der nur einmal die for-Schleife durchläuft. In kinder steckt also nur ein
Element, mit dem Namen "table", die ID ist seltsamerweise leer. Deshalb dachte ich ich benutzte das vll falsch oder so.

Hab jetzt auch mehrmals, durch mehrere Ebenen iteriert und bekomme nur noch tr. Also da kommt wohl nichts raus.

Ich schau mal nach nem anderen weg das rauszufinden.
 
Zuletzt bearbeitet:

Nogothrim

Aktives Mitglied
Das wird so nicht gehen, die nächste Seite ist in deinem HTML code ja noch gar nicht da, weil sie erst per AJAX-Request nachgeladen wird wenn man die Seite wechselt. Die PrimeFaces Komponenten haben aber auch alle selbst eine JavaScript API, es gibt für die Datatable auf jeden Fall Funktionen für die Steuerung des Paginators per JavaScript. Das sollte in der Doku beschrieben sein.
 
P

PFling

Gast
ok, ähm, es geht um folgendes Projekt:

Java Development Area: JSF2 - Benchmark datatable

da ich nicht so viel Ahnung habe mit Testen und Websiten, hatte ich mir gedacht, ich such
mir ein schon existierendes Projekt und bring das zum laufen, weil ich eigentlich
quasi genau das selbe machen möchte wie er da auf der Hompeage gemacht hat.

Der Code liefert mir aber an besagter Stelle einen Fehler und ich weiß nicht warum

ich kann in dem Projekt was es da auf der Seite auch zum download steht, keine Javascript Dateien finden oder ähnliches.

Jetzt die Frage, hat das vll was damit zu tun?

[XML]
<?xml version='1.0' encoding='UTF-8'?>
<partial-response>
<changes>
<update id="form:j_idt7"
><![CDATA[<tbody id="form:j_idt7_data" class="ui-datatable-data"><tr id="form:j_idt7_row_5" class="ui-widget-content ui-datatable-odd"><td>isbn5</td><td>author5</td><td>title5</td></tr><tr id="form:j_idt7_row_6" class="ui-widget-content ui-datatable-even"><td>isbn6</td><td>author6</td><td>title6</td></tr><tr id="form:j_idt7_row_7" class="ui-widget-content ui-datatable-odd"><td>isbn7</td><td>author7</td><td>title7</td></tr><tr id="form:j_idt7_row_8" class="ui-widget-content ui-datatable-even"><td>isbn8</td><td>author8</td><td>title8</td></tr><tr id="form:j_idt7_row_9" class="ui-widget-content ui-datatable-odd"><td>isbn9</td><td>author9</td><td>title9</td></tr></tbody>]]></update>
<update id="javax.faces.ViewState"
><![CDATA[-2677786079204053333:4816583999674350096]]></update>
</changes>
<extension primefacesCallbackParam="validationFailed">{"validationFailed":false}</extension>
</partial-response>
[/XML]

was genau ist das? muss ich das noch irgendwie einbinden?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JSF Suche Beispiel für Primefaces Tree als Navigation Web Tier 3
P JSF (Primefaces) SelectOneMenu Value auf Array wird nicht gesetzt Web Tier 0
M JSP PrimeFaces LayoutUnits <- breite lässt sich nicht erzwingen wenn 'center' Web Tier 0
T JSF Primefaces: selectedvalue von "selectmanyCheckbox" geht verloren Web Tier 0
W JSF Primefaces Selection Mode Web Tier 2
W JSF einfache DataTable PrimeFaces Web Tier 1
FINF_AW_Alex JSF PrimeFaces Dialog verlinken Web Tier 3
W JSF Primefaces Web Tier 5
F JSF Problem mit Primefaces Web Tier 7
F JSF Problem mit Primefaces Web Tier 4
S JQuery und Primefaces (Immer wieder Ärger damit) Web Tier 0
S Primefaces commandButton in einem Dialog/Form/PanelGrid führt actionListener nicht aus Web Tier 4
K JSON in Primefaces Table Web Tier 3
C JSF Zusammenarbeit Primefaces und Tomahawk. Web Tier 2
J JSF Grad der Barrierefreiheit von PrimeFaces, ICEFaces, RichFaces und OpenFaces Web Tier 2
P JSF Primefaces Picklist-Ersatz mit vielen Daten Web Tier 4
S primefaces picklist untereinander anordnen Web Tier 6
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
M onNodeExpand listener in PrimeFaces Web Tier 4
F Primefaces Dialog Web Tier 7
T JSF Primefaces: DataTable Ajax Update - Weiterleitung von anderer Seite Web Tier 11
F Primefaces Datatable => Inplaces Web Tier 3
F Primefaces Datatable Web Tier 6
F JSF Primefaces 3.3 treetable Web Tier 9
F PrimeFaces - selectOneMenu Web Tier 2
F PrimeFaces commandButton und actionListener Web Tier 6
F PrimeFaces p:selectOneMenu funktioniert nicht Web Tier 12
M JSF Dynamische Größe bei Primefaces Komponenten Web Tier 2
J JSF2+primefaces? Web Tier 20
H JSF JSF 2.0 (Primefaces) commandLinks mit action="mypage.xhtml" ohne die URL im Browser zu ändern Web Tier 8
S JSF Primefaces Thema, Css wird geladen, nur die Bilder nicht, bzw Resource wird nicht aufgelöst Web Tier 5
F Primefaces Einstieg Web Tier 1
R Primefaces: No Library Found For This Namespace Web Tier 4
M Primefaces COmmandBUtton Web Tier 8
D JSF Ajax mit Facelets (PrimeFaces) Web Tier 4
Z Primefaces sieht grausam aus Web Tier 1
A [PrimeFaces] dataTable mit paginator Probleme Web Tier 2
Z PrimeFaces (/ JSF) Konfigurationsproblem Web Tier 8
P JSF h:datagrid commanlink var="" Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben