JSF: Methode mit Parametern aufrufen

Status
Nicht offen für weitere Antworten.

schlumsch

Aktives Mitglied
Hallo,

kurze Frage, ich möchte aus einem xhtml-file heraus eine Bean-Methode
aufrufen und dieser dabei Parameter übergeben.
So ungefähr habe ich mir das gedacht :)

Code:
public void Test(String a) {
...
}

Code:
            	  	<h:commandButton value="Testmethode(a)" action="#{planingResults.testmethod}" style="width:170px;">
						<f:param name="a" value="uebergabewert in da hause"/>
</h:commandButton>

Sicher nicht verwunderlich das das so nicht geht (für den Profi) ... kann mir jemand sagen wie ich die Parameterüberagbe machen kann?

Dabei möchte ich nicht eine Variable im bean setzen und dann aus meiner Methode heraus darauf zugreifen, da ist mir klar wie es geht.

Thx, lg
 

Shoodan

Mitglied
du kannst in JSF keine methode mit parameter beunutzen.

benutze sowas in der art:

<h:commandLink action="test" actionListener="#{bean.actioneventMethode}">
<h:eek:utputText value="Edit" />
<f:param id="editId" name="id" value="#{objekt.attribut}" />
</h:commandLink>


und die actionmethode schaut dann ungefähr so aus (value ist hier ein Integer):

UIParameter component = (UIParameter) event.getComponent().findComponent("editId");
int selectedId = Integer.parseInt(component.getValue().toString());



noch fragen?


MFG

Thomas
 

schlumsch

Aktives Mitglied
öm, ja:)
wo kommt da meine Testmethode ins Spiel? in dem Link machst du doch nur ein action="test". Die ActionMethode ersetzt meine Test-Methode?
#objekt.attribut ist in deinem Beispiel dann der übergebene int?

lg
 

Shoodan

Mitglied
action=".." ist für die JSF Navigation, also du kommst dann auf eine andere Seite.

mit der actionEvent übergibst du dann quasi den Parameter an ein Attribut deiner Bean.

was deine testmethode genau macht weiß ich auch nicht.
 

schlumsch

Aktives Mitglied
Hmmm,

also das ich mit action="irgendwas" Navigation "betreibe" ist klar, ebenso kann ich aber auch mit action="methodenaufruf" eine Methode (nur eben ohne Parameter) aufrufen ... die Variante "assignto" mal außen vor. Nun kann ich mir an dem Code von dir oben schon ein wenig was erklären, nur verstehe ich value="#{objekt.attribut}" soie int selectedId = Integer.parseInt(component.getValue().toString()); nicht wirklich.

Was ich ab Ende habe will ist eigentlich folgendes:
Aus JSF/xhtml heraus einen Button / Link welcher eine Methode TestMethode aufruft und dieser einen String übergibt.

public void testMethode(String a) {
sysout(a);
}

Ganz trivial erst einmal zum Test.
 
G

Guest

Gast
Das, was Du vorhast sollte eigentlich schon ohne Probleme funktionieren. Beim Drücken eines Buttons wird ja ein ganz normales Request erzeugt, an das Du mit f:param deine Parameter dranhängst. In deiner Action-Methode sollte es dann folgendermaßen aussehen (aus dem Kopf, also ohne Gewähr)

Code:
public String testMethode(){
    String meineId = FacesContext.getCurrentInstance().getRequestParameterMap.get("id");
    ...
}

die Methode getRequestParameterMap stimmt wahrscheinlich nicht so ganz, aber musst halt mal nach etwas ähnlichem schauen.

Viel Erfolg
 
G

Guest

Gast
Natürlich brauchst Du noch den ExternalContext... habs übersehen:

Code:
public String testMethode(){
    String meineId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap.get("id");
    ...
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Button klick soll Java methode aufrufen Web Tier 2
M JSF JSF: Methode bei versteckt aufrufen & Parameter übergeben Web Tier 6
R get-methode der Managed-Bean wird immer 3 mal ausgeführt Web Tier 4
Joew0815 Spring Handle All Requests Methode Web Tier 1
M rendered ruft eine Methode auf, andere aber nicht Web Tier 15
V Mittels JavaScript Methode aufrufen Web Tier 23
M JSF Button - Methode wird nicht aufgerufen Web Tier 4
K JSF Unified-EL- Methode mit Parameterübergabe Web Tier 9
F NullPointerException auf validator methode Teil2? Web Tier 2
B JSF NullPointerException auf validator methode Web Tier 7
P Mit EL Parameter an Methode übergeben Web Tier 5
I Im PhaseListener Service Methode aufrufen Web Tier 21
J JSF Datatable bestimmte Methode Web Tier 4
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
M JSF: Bei Seitenaufruf eine Methode starten Web Tier 15
H JSF - Methode kann nicht aufgerufen werden Web Tier 5
M Body onUnload Java Methode aufrufen Web Tier 13
K bean methode von jslt aufrufen Web Tier 7
D <html:select> bzw. <html:option> - Methode auslösen ? Web Tier 2
D [JSF] Lifecycle Methode wird mehrfach aufgerufen Web Tier 4
F Problem mit der Methode request.getRemotePort() Web Tier 2
D Methode bei Server Startup ausführen Web Tier 2
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
G Mit JSTL Rückgabe von Bean Methode ausgeben Web Tier 3
G in validate methode auf form objekte zugreifen Web Tier 3
A Action-Methode soll Ausgabe auf der Responsepage steuern Web Tier 4
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9
J Namen von URL-Parametern austauschen bei JSF2 Web Tier 2
T bei angehängten URL-Parametern (deutsche Umlaute) kommt "Müll" an Web Tier 4
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
G Servlet - Von Parametern umstellen auf Session Web Tier 8
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
S Servlet automatisch aufrufen Web Tier 2
S EJB Funktion in JSP aufrufen? Web Tier 2
S log4j mit konfigurationsfile aus jsp aufrufen Web Tier 7
S Jsp: javascript und javamethode aufrufen Web Tier 17
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
E Servlet mit einem Link aufrufen? Web Tier 13
T Servlet soll sich selbst aufrufen. Web Tier 7
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
S JavaScript-Funktion aufrufen mit a4j-support?? Web Tier 3
D MultiActionController von Spring ohne action und / aufrufen Web Tier 3
G Javascriptfunction aus einem Sucess-path aufrufen Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben