Announcement

Collapse
No announcement yet.

Anfängerfrage zur JSF Navigation (-Rule)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfängerfrage zur JSF Navigation (-Rule)

    Hallo *,

    ich habe vor ein paar Stunden mit JSF/Facelets angefangen ein paar kleinere Stümpereien hochzuziehen. Nun stehe ich vor einigen Problemen bezüglich der Navigation über die Seiten.

    Zuerst mal mein MBean (ProjektMBean)
    Code:
    public class ProjektMBean {
       // projekt
       private Projekt projekt; // + get/set
    
       // einige Listen fuer select boxen
       private List<..> xListe; // + getter/setter
    
       // neu anlegen (die eigentliche aktion 1. teil)
       public void anlegen() {
           // fuelle Listen mit Werten aus der
       }
    
       // projekt speichern (2. teil der aktion)
       public String speichern() {
           // speichern
           erfolreich ? return "SUCCESS" : "FAILURE";
       }
    }
    Das Projekt ist ein einfaches JavaBean mit Attributen/Getter/Settern.
    Soweit so gut.

    Nun zur Webseite an sich ... (gliedert sich in template.xhtml + anlegen.xthml)
    template.xhtml
    Code:
    ...
    <form jsfc="h:form" id="navigation">
       ...
       <a jsfc="h:commandLink" action="#{ProjektMBean.anlegen}">Anlegen</a>
       ...
    </form>
    ...
    anlegen.xhtml
    Code:
    ...
    <form jsfc="h:form" id="projektForm">
       ...
       <a jsfc="h:commandLink" action="#{ProjektMBean.speichern}">Speichern</a>
    </form>
    Soweit mein Gedanke...
    Nun noch das Ganze in Faces Konfigurieren. (und ich habe wirklich ALLES probiert... erfolglos)

    faces-config.xml
    Code:
    ...
    <!-- Projekt Navigation * ANLEGEN * -->
        <navigation-rule>
            <from-view-id>*</from-view-id>
            <navigation-case>
                <from-action>#{ProjektMBean.anlegen}</from-action>
                <to-view-id>/faces/projekt/anlegen.xhtml</to-view-id>
                <redirect></redirect>
            </navigation-case>
        </navigation-rule>
    
        <!-- Projekt Navigation * SPEICHERN * -->
        <navigation-rule>
            <from-view-id>/faces/projekt/anlegen.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>SUCCESS</from-outcome>
                <to-view-id>/faces/projekt/anzeigen.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>
    ...

    Tja, nun die Preisfrage... was ist falsch? Ich viele Beispiele gesehen (die natürlich immer nur den einfachsten Fall abbilden und daher häufig unbrauchbar sind).
    Ich habe Dokus gelesen und kam nicht darauf das hier richtig abzubilden...

    Funktionert das was ich vorhabe überhaupt so??

    was ich verraten kann:
    wenn die anlegen() Methode return "projektBeantragen" macht und in der entsprechenden navi-rule auch from-outcomerojektBeantragen eintrage, gelange ich auch zu der seite... nur die selectboxen sind nicht gefüllt (kann aber andere ursachen haben)
    .. die speichern() methode wird nie aufgerufen.


    Ich bin für jede Hilfe dankbar. Weis da jemand rat wie ihc das Problem am geschicktesten lösen kann??

    thx in advance

  • #2
    hmm... ist das hier wirklich ein entwicklerforum?

    ist mein problem zu einfach? zu kompliziert? zu aussergewöhnlich? habe ich irgendwas übersehen? (bin jsf anfänger) ...
    habe ich das prinzip nicht verstanden?

    fragen über fragen ...

    Comment


    • #3
      hi tbs,

      mir geht es ähnlich wie dir. Echte JSF Profis bzw. Foren die über die Anfangsfehler schnell hinweg helfen, gibt es leider nicht. Irgendwie kämpft jeder allein.

      Was du willst geht prinzipiell. Ich habe leider mein Notebook nicht dabei. Aber schau hier mal nach :

      http://www.jsf-forum.de/forum/pages/...lloworld_1.jsf

      Das sollte weiterhelfen.

      Comment

      Working...
      X