JSF HtmlCommandButton --- Action wird nicht aufgerufen

bronks

Top Contributor
Hi!

Ich habe u.g. Code, welcher einen HtmlCommandButton erzeugt und diesen in ein HtmlPanelGrid platziert. Der Button wird im PanelGrid angzeigt, aber wenn ich diesen klicke, dann wird nicht die gewünschte Action aufgerufen:

Code, in welchem der Button erzeugt wird:
Code:
HtmlCommandButton cmb = new HtmlCommandButton();
cmb.setValue("Button");
cmb.setId("b1");

FacesContext context = FacesContext.getCurrentInstance();
Application app = context.getApplication();
ExpressionFactory f = app.getExpressionFactory();
MethodExpression expr = f.createMethodExpression(context.getELContext(),"#{testBean.testAction()}", String.class, new Class[]{});
cmb.setActionExpression(expr);

List children = panelGrid.getChildren();
children.add(cmb);

Die Action:
Code:
public String testAction(){
        System.out.println("XXXXXXXXXX");
        return "index";
    }

Was ist hier verkehrt?

Danke

Bronks
 

bronks

Top Contributor
Ich dachte mir, daß ich einen Workaround auf seite der xhtml starte und dabei ist folgendes rausgekommen:
Code:
<c:forEach var="values" items="#{testBean.valuesCollection}">
	<h:commandButton id="bid#{values.id}" action="#{testBean.testAction()}" value="#{values.title}" />
</c:forEach>
Soviele Items die ValuesCollection enthält, so viele Buttons sollen erzeugt werden, welche alle die gleiche Methode aufrufen.

Ergebnis ist das gleiche, wie in Post #1. Die Action wird einfach nicht aufgerufen. Ein einzelner CommandButton, welcher unter dem forEach-Block liegt, funktioniert.
Code:
 <h:commandButton id="bid1234" action="#{testBean.testAction()}" value="Testbutton" />

Mit JSF 1.1 habe ich schon mal sowas programmiert. Mal davon abgesehen, daß die damals angewendeten Methoden deprecated sind, funktioniert die alte Lösung mit JSF 2.0 auch nicht.
 
Zuletzt bearbeitet:

bronks

Top Contributor
So sieht der erzeugte HTML aus:
Code:
<form id="testForm" name="testForm" method="post" action="/TestContext/faces/test.xhtml" enctype="application/x-www-form-urlencoded">
	<input type="hidden" name="testForm" value="testForm" />
	<input id="testForm:bid14" type="submit" name="testForm:bid14" value="Button1" />
	<input id="testForm:bid1234" type="submit" name="testForm:bid1234" value="Testbutton" />

	<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="... bla ... bla ..." autocomplete="off" />
</form>
Der Button mit der ID=bid12 wurde innerhalb des forEach erzeugt und funktioniert nicht. Der andere Button mit der ID=bid1234 ist der alleinstehende Button, welcher funktioniert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M <p:accordionPanel <ui:repeat <p:commandButton Action funktioniert teilweise Web Tier 3
V JSF oncomplete-Attribut nach action-Attribut auswerten Web Tier 3
aze JSF CommandButton:Action wird nicht ausgeführt Web Tier 2
M JSF Dialog nur nach erfolgreicher Action schließen Web Tier 4
H JSF JSF 2.0 (Primefaces) commandLinks mit action="mypage.xhtml" ohne die URL im Browser zu ändern Web Tier 8
M Struts 2 - "There is no Action mapped for namespace..." - globale Lösung? Web Tier 3
H Seiten-reload als Result einer Action Web Tier 3
ruutaiokwu action-attribut des jsf h:form-tag überschreiben Web Tier 7
7 Struts: bei action immer ein Result nötig? Web Tier 2
E Struts: Text in JSP aus Action heraus setzen Web Tier 4
2 Pro Action nur eine ActionForm? Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D MultiActionController von Spring ohne action und / aufrufen Web Tier 3
T Action mapping Frage (Struts) Web Tier 2
K [Struts2] autom. Action-Erkennung Web Tier 2
J JSF - CommandButton keine Action Web Tier 14
A Action-Methode soll Ausgabe auf der Responsepage steuern Web Tier 4
L Set<T> Attribut eines Objektes wird zu null in thymeleaf Web Tier 2
C JSP data wird nicht angezeigt Web Tier 6
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
P JSF (Primefaces) SelectOneMenu Value auf Array wird nicht gesetzt Web Tier 0
W Tabelle wird nicht aktualisiert Web Tier 8
A JSF String wird nicht angezeigt Web Tier 2
S JSF CSS wird gefunden aber inhaltlich nicht angewendet Web Tier 2
R get-methode der Managed-Bean wird immer 3 mal ausgeführt Web Tier 4
R JSF ManagedProperty wird nicht erstellt Web Tier 1
G JSF Radio Button ValueChangeListener Wert wird nicht übernommen Web Tier 2
M fileUploadListener geht nicht wenn Element zur Laufzeit gerendert wird Web Tier 2
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
F JSF CSS Verschachtelung wird nicht abgebildet Web Tier 2
F.S.WhiTeY Servlet Servlet wird nicht angesprochen Web Tier 3
D JSF a4j:support wird nicht gefunden Web Tier 2
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
T JSF wird nicht ausgeführt Web Tier 4
H JSF ActionListener wird ausgeführt, aber ändert den Wert nicht. Web Tier 7
L JSF Beispiel wird nicht ausgeführt Web Tier 2
T JSF Eigener Converter wird nur für Eingabekomponenten aufgerufen? Web Tier 3
M JSF Button - Methode wird nicht aufgerufen Web Tier 4
L einfache JSF-Seite wird nicht angezeigt Web Tier 8
N JSF [Maven] Seam 2.2, Richfaces 3.3 - a4j wird nicht umgewandelt Web Tier 6
P JSF AJAX render wird nicht ausgeführt Web Tier 4
X Seite wird mit AJAX neu geladen Web Tier 4
P Servlet wird nicht gefunden - HTTP Error 503 Web Tier 7
S JSF Primefaces Thema, Css wird geladen, nur die Bilder nicht, bzw Resource wird nicht aufgelöst Web Tier 5
borobudur Servlet Business-Logik wird bei jedem Request neu erstellt Web Tier 13
J JSF JSF2.0 template wird nicht gerendert!? Web Tier 2
C GWT: RPC wird nicht gefunden Web Tier 3
I Beim zurück-Link wird immer ein Request ausgeführt Web Tier 5
E JSP ist es noch aktuell oder wird heute was anderes genutzt? Web Tier 3
D [JSF] Lifecycle Methode wird mehrfach aufgerufen Web Tier 4
J JSF Custom Component ValueExpression wird nur als String erkannt Web Tier 2
E init() wird mehrmals aufgerufen Web Tier 4
L [RichFaces] Applikation wird mit NullPointerException beendet Web Tier 5
E CSS wird nach RequestDispatcher.redirect nicht mehr geladen Web Tier 7
V JSF: dataTable Getter wird nie aufgerufen Web Tier 6
megachucky JSF - JSTL Library wird nicht gefunden Web Tier 4
Z Servlet Response HTTP-Status 200 wird nicht übertragen Web Tier 3
K [gelöst] JSF-Seite wird nicht angezeigt Web Tier 3
H JSF Seite wird plain angezeigt Web Tier 3
N URL bei WebApp wird immer laenger Web Tier 5
G JSP/JSF Inputtext rerender wenn Value geändert wird Web Tier 2
I servlet: init wird auch nach ServletException aufgerufen Web Tier 3

Ähnliche Java Themen

Neue Themen


Oben