Cuchulainn
-
Gesamte Inhalte
5 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Cuchulainn
-
-
Ja, sie sind in demselben Ordner.
-
Vielen Dank.
Es hat funktioniert
Kann ich den Thread irgendwie auf gelöst setzen?
-
Hallo,
ich möchte gerne ein wenig mit JSF arbeiten. Aber meine Navigation-Rules funktionieren nicht alle. Einen Fehler kann ich nicht finden.
Hier ist meine faces-config.xml:
<navigation-rule> <description>List of cultures</description> <from-view-id>/index.jsp</from-view-id> <navigation-case> <from-outcome>editCulture</from-outcome> <to-view-id>/edit.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>addCulture</from-outcome> <to-view-id>/add.jsp</to-view-id> </navigation-case> </navigation-rule> <navigation-rule> <description>Edit a cultures</description> <from-view-id>/edit.jsp</from-view-id> <navigation-case> <from-outcome>listCultures</from-outcome> <to-view-id>/index.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <description>Add a cultures</description> <from-view-id>/add.jsp</from-view-id> <navigation-case> <from-outcome>listCultures</from-outcome> <to-view-id>/index.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule>
Hier ist meine add.jsp:<%@ page language="java" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <f:view> <h:form> <h:messages /> <h:outputText value="Neue Kultur eingeben" /> <!--<h:inputHidden id="id" value="#{culture.cultureId}"/>--> <h:panelGrid columns="2" border="1"> <h:outputText value="Kulturname:" /> <h:inputText id="cultureName" value="#{culture.cultureName}"> <f:validateLength minimum="2" maximum="30" /> </h:inputText> </h:panelGrid> <h:commandButton value="Speichern" action="listCultures" actionListener="#{culture.addCulture}" /> </h:form> </f:view>
Von index.jsp zu add.jsp bzw. edit.jsp funktionieren die Navigation-Rules, nur von add.jsp bzw. edit.jsp zu index.jsp nicht.
Sieht jemand den Fehler?
-
Hallo alle zusammen,
ich habe eine jsf-Seite mit einer Tabelle. Hinter jedem Eintrag sind eine Löschen- und eine Editieren-Schaltfläche. Wenn der Benutzer nun "löschen" drückt, soll der entsprechende Datensatz gelöscht werden. Mein Problem ist nun: Wie sage ich dem ActionListener (der dann Hibernate aufruft), welcher Datensatz gelöscht werden soll?
Das ist meine JSP-Seite:
<f:view> <f:loadBundle basename="Language" var="msgs" /> <h:form> <h:messages /> <h:dataTable id="cultures" value="#{cultureService.cultureList}" var="row"> <h:column> <f:facet name="header"> <h:outputText value="Id"/> </f:facet> <h:outputText id="cultureId" value="#{row.cultureId}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Kulturname"/> </f:facet> <h:outputText value="#{row.cultureName}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Actions"/> </f:facet> <h:commandButton value="Ändern" action="editCulture" /> [B]<h:commandButton value="Löschen" action="listCultures" actionListener="#{culture.deleteCulture}" />[/B] </h:column> </h:dataTable> <br /> <h:commandButton action="addCulture" value="Add Culture" /> </h:form> </f:view>
Ich habe die Zeile für dei Löschen-Schaltfläche fett gedruckt. Und hier ist mein ActionListener in der Bean:public void deleteCulture(ActionEvent actionEvent) { try { CultureService.deleteCulture(getCultureId()); } catch (Exception e) { } }
Der Listener wird korrekt aufgerufen. Wenn ich deleteCulture() einen festen Wert übergebe (z.B. CultureService.deleteCulture(3); ), wird genau dieser Datensatz gelöscht. Wie aber kann ich ihm klar machen, dass er genau die angewählte Zeile löschen soll?
Warum funktionieren meine Navigation-rules nicht?
in Java
Geschrieben
Falls mal jemand vor dem gleichen Problem stehen sollte, ich habe die Lösung gefunden:
Es lag am <redirect />. Wenn das weg ist, funktionieren die Nagivationrules. In einem Beispiel habe ich das gefunden, deswegen habe ich darüber nicht mehr weiter nachgedacht.
Also das ist die Lösung.