PrimeFaces commandButton und actionListener

fsicher

Bekanntes Mitglied
Hallo allerseits

Ich arbeite gerade mit PrimeFaces 3.4 und habe Probleme mit action / actionListener bei einem CommandButton. Manchmal funktioniert es, manchmal nicht. Wenn es funktioniert und ich ändere etwas, was dazu führt, dass der Code kompiliert und neue deployed wird (Tomcat 7.x), funktioniert es plätzlich nicht. Ab und zu hilft es, wenn ich die App im Tomcat-webapps lösche und neu deploye oder ein paar mal Cache im Browser lösche (Firefox / Chrom), aber das ist sehr mühsam. Denn, manchmal hilft nichts und ich stehe da ratlos ...

Hat jemand ähnliche Erfahrungen gemacht? Wenn ich Debugging starte, geht das manchmal aber manchmal auch nicht. Wenn ich auf die Schaltfläche klicke, wird die Methode offenbar gar nicht aufgerufen.

Java:
<p:commandButton value="#{msg_vertrag.btn_save}"
						action="#{vertragMenuBean.showContent('vertrag_kodrev')}"
						update=":content" process="@this" />

// Die methode des 'vertragMenuBean'
public void showContent(String pageId) {
		
		if (pageId.equals("vertrag_kodrev")) {
			pageToInclude = "/WEB-INF/controls/vertrag/kodrev/add_kodrev.xhtml";
		} else if (pageId.equals("vertrag_index")) {
			pageToInclude = "/WEB-INF/controls/vertrag/summary.xhtml";
			try {
				String r = FacesContext.getCurrentInstance()
						.getExternalContext().getRequestContextPath();
				FacesContext.getCurrentInstance().getExternalContext()
						.redirect(r + "/index.xhtml");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

Aus irgendeinem Grund wird der Code ab und zu nicht ausgeführt. Liegt es am Tomcat oder PrimeFaces?

Danke für jeden Tipp.
 

fsicher

Bekanntes Mitglied
Kämpfe mit meinem Problem leider immer noch ...

Ich habe das Gefühl, dass es mit Tomcat bzw. Umgebung zusammenhängt. Arbeite mit eclipse jee (indigo und juno). Leider stelle ich fest, dass das Verhalten nicht veraussagbar ist: manchmal funktioniert es, manchmal nicht. Wenn ich den Server (Tomcat) in Debug-Modus starte und mit Break-Points in der Methode 'showContent' arbeite, ist die Chance grösser, dass es "funktioniert".

In der Console finde ich keine Meldungen, die mir evtl. weiter helfen könnten. Das Gleiche in Log-Dateien (CATALINA_HOME/logs). Weiss jeman, wo man evtl. mehr über Abläufe im Hintergrund erfahren könnte? Oder, kann man evtl. Tomcat anders konfigurieren, um etwas mehr über Ablauf zu erfahren?

Danke.
 

JimPanse

Bekanntes Mitglied
Leider stelle ich fest, dass das Verhalten nicht veraussagbar ist: manchmal funktioniert es, manchmal nicht.

Firefox + Firebug installieren und schauen ob der ajax-request überhaupt ausgeführt wird bzw. analysiere den Reponse. Eventuell ist in dem Formular ein input field mit required = true das nicht ausgefüllt wird -> dann wird die Aktion nicht ausgeführt -> im Reponse müßte dann sowas wie validationFailed=true stehen.

Ansonsten poste doch einfach ein wenig mehr code.

Gruß
 

freez

Top Contributor
Sobald im View Server (Eclipse) beim Tomcat Restart steht, sollte man meiner Erfahrung nach neu starten. Und das geschieht sehr oft dann, wenn man am Code der Beans / Servlets / xml Files selbst was ändert. An den Views kann man in der Regel Änderungen vor nehmen, ohne Neustart. Es kann zwar sein, dass die Änderungen in Tomcat richtig ankommen, aber wenn du sicher gehen willst, dann mach nen Restart ... ich weiß ... nervt ziemlich ... ich würde mir auch wünschen, dass Tomcat von allein die Anwendung neu lädt. Jedenfalls kann ich so recht stabil die Anwendung testen.

Ich weiß jetzt nicht, ob es ein Tomcat Problem ist und ob es bei anderen Servern besser ist. Evtl. gibt es hier auch einen Einstellung, die ich bisher nicht gesehen hatte.
 
Zuletzt bearbeitet:

Nogothrim

Aktives Mitglied
Zu den Dingen, die 100%ig einen Server Restart erforden zählen z.B.:

  • Klasse hinzufügen / umbenennen
  • Methode hinzufügen / umbenennen
  • Methodensignatur ändern
  • Attribut hinzufügen / umbenennen
  • Annotationen (geht manchmal, meist aber nicht)

Was auf jeden Fall geht, ist innerhalb von Methoden Code zu ändern, auch neue lokale Variablen einführen etc. Änderungen an xhtml Seiten sollten auch immer möglich sein.
 
T

transdenzentral

Gast
@TE Hast Du inzwischen eine funktionierende Lösung?

Ich stehe hier vor dem gleichen Problem. Manchmal zündet der ActionListener, manchmal nicht. Manchmal braucht man zwei Klicks, manchmal nur einen... - alles ein wenig Voodoo.

Ich verwende auch einen Tomcat 7.x und PF in Version 4.1 ;)

Viele Grüße
transdenzentral
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Primefaces commandButton in einem Dialog/Form/PanelGrid führt actionListener nicht aus Web Tier 4
M Primefaces COmmandBUtton Web Tier 8
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
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 p:selectOneMenu funktioniert nicht Web Tier 12
M JSF Dynamische Größe bei Primefaces Komponenten Web Tier 2
P PrimeFaces DataGrid Click "simulieren" Web Tier 5
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
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
F JSF CommandButton innerhalb eines div´s (mit onClick) Web Tier 2
N JSF CommandButton Daten aus anderem Form auslesen Web Tier 3
M <p:accordionPanel <ui:repeat <p:commandButton Action funktioniert teilweise Web Tier 3
S JSF CommandButton soll keine Request starten! Web Tier 2
K RichFaces CommandButton mit PopUp verwenden Web Tier 2
aze JSF CommandButton:Action wird nicht ausgeführt Web Tier 2
S [JSF] CommandButton/Link ohne Validierung Web Tier 3
P JSF 1.2 commandButton in dataTable Web Tier 2
M JSF: CommandButton übergibt den Parameter nicht Web Tier 3
L JSF: commandButton reagiert nicht Web Tier 10
J JSF - CommandButton keine Action Web Tier 14
S Rendern einer Komponente nach actionListener Web Tier 2
H JSF ActionListener wird ausgeführt, aber ändert den Wert nicht. Web Tier 7
G ActionListener Events zweimal gefeuert Web Tier 3

Ähnliche Java Themen

Neue Themen


Oben