Zum Inhalt springen

Cuchulainn

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

Beiträge von Cuchulainn

  1. 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?

  2. 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?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...