JSF - Aktion und Navigation in einem?

Status
Nicht offen für weitere Antworten.

SaschaLR

Bekanntes Mitglied
Hallo,

ich habe da ein dickes Problem bei dem ich noch nicht vorwärts komme.

Ich habe eine Tabelle mit div. Columns, eine sieht so aus:

Code:
<h:commandLink value="#{user.name}" actionListener="#{NewUserBean.edit}" immediate="true">
     <f:param name="editid" id="editid" value="#{user.id}" />
</h:commandLink>

Und die Methode dahinter sieht so aus:

Code:
public String edit(ActionEvent ae) {
     UIParameter component = (UIParameter) ae.getComponent().findComponent("editid");
     long loadID = Long.parseLong(component.getValue().toString());
		
     .....
     return "edit";
}

Hier der Auszug aus der faces-config.xml

Code:
<navigation-rule>
        <from-view-id>/blah/list.jsp</from-view-id>
	<navigation-case>
		<from-outcome>edit</from-outcome>
		<to-view-id>/user/edit_user.jsp</to-view-id>
	</navigation-case>
</navigation-rule>

Ziel ist es, in der Tabelle, die je einen User pro Zeile hat, einen Namen anzuklicken, den pasenden User zu laden und auf der nächsten Seite editieren zu können.


Also .... die Navigation funktioniert hier nicht und ich habe den Verdacht, dass es daran liegt, dass ich von einem actionListener keine Rückgabe für die Navigation verwenden kann. Stimmt das so?

Kann ich nur eines von den beiden haben:

Code:
public void method_a(ActionEvent ae){
}

public String method_b(){
     return "some code";
}

Oder bin ich völlig auf dem falschen Dampfer? H i l f e e e e :)

Gruß und vielen Dank,
Sascha
 

WeirdAl

Bekanntes Mitglied
Also .... die Navigation funktioniert hier nicht und ich habe den Verdacht, dass es daran liegt, dass ich von einem actionListener keine Rückgabe für die Navigation verwenden kann. Stimmt das so?
Daran liegts. Benutz doch einfach action="" anstatt actionListener="". Das ActionEvent brauchst Du nicht zwingend um an den Tabelleneintrag zu kommen. Schau mal hier nach. Evtl. hilft Dir das.

Cu
Alex
 

SaschaLR

Bekanntes Mitglied
Vielen Dank! Das sieht sehr vielversprechend aus!!!!

Clicking at the h:commandLink of every row will invoke the editMyData() method of the backing bean MyBean.java. The MyData item belonging to the row can be retrieved using the getRowData() method of the HtmlDataTable class, which is bound by h:dataTable binding. Finally store the MyData item as myDataItem.

Der vorletzte Satz ist mir noch nicht ganz klar. Was muss ich da als Binding angeben??? (Habs noch nicht probieren können... hab den Krempel in der Arbeit)

Dank und Gruß, Sascha

EDIT: Ich hab nochmal angestrngt nachgedacht und schnell was an einem anderen Heimprojekt gebastelt. Es hat geklappt... und das auf Anhieb! Super vielen Dank nochmals!

Meine Frage beantworte ich auch selbst schnell: Das Binding-Attribut des <h:dataTable /> in der JSP muss ein HTMLDataTable Objekt in der Bean referanzieren. Wie auch sonst soll man leicht an die Table und damit die Daten kommen? :)

SUPER :)
 

A.T.

Bekanntes Mitglied
Das hier ist zwar alles schon etwas länger her aber könntest du dazu mal etwas Sourcecode posten? Wäre super!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Navigation verhindern unter bestimmten Voraussetzungen Allgemeines EE 3
NoXiD jsf 2.1 navigation rule doesn't work Allgemeines EE 4
0 JSF fehlerhafte navigation Allgemeines EE 3
F JSF Navigation auf vorhergehende Seite(n) Allgemeines EE 14
N zugriff auf sämtliche navigation rules Allgemeines EE 6
S JSF Navigation - Alternative zu Spring Webflow Allgemeines EE 6
S JSF: Bei Navigation Bilder / Styles nicht mehr verfügbar Allgemeines EE 1
T JSF/MyFaces und Navigation Allgemeines EE 9
D Wert aus einem Future raus bekommen Allgemeines EE 11
B Probleme mit Templates in einem Webprojekt Allgemeines EE 6
P Logging bei einem WebApplication Allgemeines EE 2
J geschützter Bean zugriff mit einem Rich-Client Allgemeines EE 2
K Wie statisch ist static in einem Webserver? Allgemeines EE 5
M Zwei Buttons in einem Servlet Allgemeines EE 2
T Zugriff auf persistentes Set in einem Objekt Allgemeines EE 2
P Einem eingeloggtem Benutzer Rollen dynamisch zuweisen Allgemeines EE 5
M Java Application Server in einem ungesunden Zustand Allgemeines EE 4
R Zugriff auf Managed Bean aus einem Filter Allgemeines EE 2
boxi JSF von einem Bean auf ein anderes Bean zugreifen Allgemeines EE 3
G JBoss aus einem Java-Programm starten Allgemeines EE 11
M Aus einem Servlet auf ein anderes zugreifen ? Allgemeines EE 2
O JSP dynamisch aus einem objekt heraus erstellen Allgemeines EE 7
G benutzerverwaltung in einem bestellshop Allgemeines EE 3
S Struts: Wert in einem iterierten Drop-Down Menü selektieren Allgemeines EE 7
M datei liste (jsp,html) von einem Server Allgemeines EE 4
J In einem Bean zugriff auf ein SessionBean? Allgemeines EE 2
F Timer in einem Applicationserver laufen lassen? Allgemeines EE 4
H tomcat - alles umleiten zu einem Servlet Allgemeines EE 40
H Von einem Servlet auf ein anderes zugreifen Allgemeines EE 4
H Lastverteilung in einem Cluster (JBoss) ausschalten Allgemeines EE 4
M Servlet: CSS der JSP wird bei einem forward nicht gefunden? Allgemeines EE 2
flashfactor Logging in einem Session-Bean Allgemeines EE 2
H Beep auf einem WebClient? Allgemeines EE 5
R Wie ermittle ich Zeichenanzahl in einem gemischten String? Allgemeines EE 2

Ähnliche Java Themen


Oben