JSF Probleme mit Zugriff zur Managed Bean

Dieses Thema JSF - Probleme mit Zugriff zur Managed Bean im Forum "Web Tier" wurde erstellt von Wolfinator10, 12. Jan. 2015.

Thema: Probleme mit Zugriff zur Managed Bean <h:form id="idxForm2"> <p:commandButton value="Login" action="#{at.wogs.bean.LoginBean.check()}"/>...

  1. <h:form id="idxForm2">
    <p:commandButton value="Login" action="#{at.wogs.bean.LoginBean.check()}"/>
    </h:form>

    Habe das in meinem Programm eingebaut auch die Funktion check() aber die Webanwendung geht nie in die Funktion check hinein.
    Woran könnte das liegen?

    Mit freundlichen Grüßen
     
  2. Vielleicht hilft dir das Java-Tutorial weiter. Hier klicken --> (Klick)
  3. stg
    stg
    Ohne entsprechenden relevanten Code schwer zu sagen...

    Einfach mal ins Blaue geraten sollte es vermutlich
    Code (Text):
    <p:commandButton value="Login" action="#{loginBean.check()}"/>
    heißen. Kommt aber natürlich darauf an, wo und wie du deine Bean in der Anwendung registriert hast.
     
  4. stg
    stg
    Dein File-Hoster wird bei mir geblockt, daher kann ich deine Bilder leider nicht sehen. Poste besser den relevanten Code, so wie du es zuvor auch schon getan hast. Da war es nur zu wenig :)

    Was mir aufgrund deiner Aussagen aber noch auffällt: Die Methode check() sollte den Rückgabetyp String oder void besitzen, nicht boolean, falls das bei dir der Fall ist.
     
  5. Hat String

    Also hier in der JSF Seite:
    <p:menuitem>
    <h:form id="idxForm2">
    <p:commandButton value="Login" action="#{loginBean.check()}"/>
    </h:form>
    </p:menuitem>


    Das ist in der Bean:
    public String check()
    {
    return "true";
    }
    Und hier ist die faces config:
    <navigation-case>
    <from-outcome>true</from-outcome>
    <to-view-id>/login.xhtml</to-view-id>
    </navigation-case>

    teil1.JPG
     
    Zuletzt bearbeitet: 12. Jan. 2015
  6. stg
    stg
    Du verschweigst immer noch wo und wie du die Bean in der Anwendung registrierst. In der faces-config? Falls ja, wie sieht der entsprechende Eintrag hierzu aus? Oder per Annotation? Falls ja, wie sieht das bei dir aus (inkl import statements) ...ferner kannst du einfach mal einen System.out in deine check-Methode setzen, um zu sehen, ob diese aufgerufen wird.
     
  7. Oh sorry ok hier die ganze faces config:

    <faces-config version="2.2"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
    <navigation-rule>
    <from-view-id>/index.xhtml</from-view-id>
    <navigation-case>
    <from-outcome>true</from-outcome>
    <to-view-id>/login.xhtml</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/login.xhtml</from-view-id>
    <navigation-case>
    <from-outcome>back</from-outcome>
    <to-view-id>/index.xhtml</to-view-id>
    </navigation-case>
    </navigation-rule>

    <managed-bean>
    <managed-bean-name>loginBean</managed-bean-name>
    <managed-bean-class>
    at.wogs.bean.LoginBean
    </managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    </faces-config>
     
  8. funktioniert leider noch immer nicht..
     
  9. nested forms sind weder in JSF noch in HTML unterstützt ;)
    Außerdem kannst mal probieren was anderes als "true" zu benutzen, vllt ist das reserviert.
     
  10. Hab schon alles probiert, wenn er true zurückliefert dann geht er aufgrund der faces-config normalerweise in das nächst fenster.

    was meinst du damit ?
     
  11. Das du nested forms hast... eine form um die menubar und eine um den button. das ist nicht erlaubt.

    Wenn du das behoben hast, kannst du auch mal probieren anstatt "true" direkt "/login.xhtml" zurück zu geben.
     
  12. Es funktioniert aber so, habs ausprobiert also hat das nichts mit dem zu tun.

    jaa das hab ich schon probiert wenn ich das reinschreibe funktioniert es einwandfrei. hab auch eine ausgabe in der Bean funktion gemacht und da kommt nichts. Also funktioniert der Zugang zur Bean nicht
     
  13. Schau dir jetzt hier den Kurs an und lernen Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)