Announcement

Collapse
No announcement yet.

Parameter/Argument in URL übergeben

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

  • Parameter/Argument in URL übergeben

    Hallo zusammen,

    ich habe eine EJB-Anwendung mit Java Server Faces entwickelt, die auf einem Glassfish läuft. Gibt es eine Möglichkeit einen Paramterwert in einer URL mitzugeben, so wie das bei php möglich ist und damit ein Formular vor zu befüllen?
    Bsp.: index.xhtml?name=mustermann&vorname=max

    Grüße
    tilchr

  • #2
    Das ist dann am JSF-Framework vorbei. Das sollte über die zu dem Formular gehörenden managend Bean passieren bzw. durch Vorbelegung

    <h:inputText value="#{bean.meinWert}" />
    Christian

    Comment


    • #3
      Hallo Christian,

      vielen Dank für die schnelle Antwort. Das füllen über die managedBean ist kein Problem, aber ich würde eben gerne bereits in der URL den Wert für den inputText übergeben. Ist das möglich?

      Grüße
      tilchr

      Comment


      • #4
        Du könntest in der Bean
        FacesContext.getCurrentInstance().getExternalConte xt().getRequestParameterMap()

        prüfen und diese entsprechend bestücken. Habe das aber jetzt nicht ausprobiert....
        Christian

        Comment


        • #5
          Funktioniert leider nicht mit den beschriebenen Methoden. Stimmt es denn prinzipiell mit der Syntax in der URL? So wie das auch bei php möglich ist?
          Ich würde nämlich gerne auf diese Weise Werte durch einen URL-Aufruf an die managedBean übergeben und direkt den submit-Button ausführen.

          Bsp: login.xhtml?user=mustermann&password=max&submit=1

          Leider passiert einfach gar nichts. Ich hoffe ihr könnt mir weiterhelfen.

          Grüße und einen schönen Abend
          tilchr

          Comment


          • #6
            die login.xhtml würde so aussehen:
            Code:
            <?xml version='1.0' encoding='UTF-8' ?>
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:h="http://java.sun.com/jsf/html">
                <h:head>
                    <title>Login</title>
                </h:head>
                <h:body>
                    <h1>Bitte Benutzername und Passwort eingeben: </h1>
                        <h:form>
                            <h:outputLabel for="user" value="Username: "/>
                            <h:panelGroup>
                                <h:inputText id="user" required="true"
                                             value="#{meineBean.username}"
                                             requiredMessage="- Bitte Username eingeben"/>
                                <h:outputLabel for="password" value="Passwort: "/>
                                <h:inputSecret id="password" required="true"
                                             value="#{meineBean.password}"
                                             requiredMessage="- Bitte Passwort eingeben"/>
                                <h:commandButton id="submit" value="Login" action="#{meineBean.login}"/>
                            </h:panelGroup>
                        </h:form>
                </h:body>
            </html>

            Comment


            • #7
              Es sollte mit der Methode funktionieren. Jedoch kannst du dann nicht

              meineBean.password

              nehmen und einfach das Passwort aus dem Getter nehmen, sondern muss mittels o.a.
              Methoden erst nachschauen, ob etwas im Request steht


              o wie das auch bei php möglich ist?
              Das hat nichts mit PHP zu tun! Das ist allgemeingültig

              http://de.wikipedia.org/wiki/URL-Encoding
              Zuletzt editiert von Christian Marquardt; 01.08.2011, 06:39.
              Christian

              Comment


              • #8
                Habe eine Teillösung für die Parameterübergabe in das Textfeld.
                Code:
                <f:metadata>
                       <f:viewParam name="user" value="#{meineBean.username}" />
                       <f:viewParam name="password" value="#{meineBean.password}" />
                </f:metadata>
                Leider habe ich noch keine Möglichkeit gefunden, den Submit-Button durch die Parameterübergabe auszuführen .

                Comment


                • #9
                  Leider habe ich noch keine Möglichkeit gefunden, den Submit-Button durch die Parameterübergabe auszuführen
                  Wird auch nicht gehen, da das auf dem Client stattfindet.
                  Christian

                  Comment


                  • #10
                    Ok, schade. Gibt es eine andere Möglichkeit, dass ich einer managedBean Werte durch Paramter übergebe und durch den URL-Aufruf eine Methode in der managedBean starte?

                    Comment

                    Working...
                    X