Wie Kriege ich eine JSF-Komponente-Wert mithilfe der EL?

Bevor, finden Sie diese Frage

Es ist JSF-Formular wird wieder angezeigt wie folgt:

<f:view>
    <h:form>
        <div>
            <label>Id</label>
            <input type="text" name="accountId"/>
        </div>
        <div>
            <label>Amount</label>
            <input type="text" name="amount"/>
        </div>
        <h:commandButton value="Withdraw" action="#{accountService.withdraw(param.accountId, param.amount)}"/>
    </h:form>
</f:view>

Beachten Sie, dass ich verwendet habe <input type="text" name="amount"> statt <h:inputText id="amount">. , Um seinen Wert abruft durch die Verwendung von Naht-EL-resolver, ich benutze param.amount.

Passiert es, dass wenn ich <input type="text" und etwas schief geht, auf der server-Seite, ich muss die Seite erneut. So Ihr übermittelten Wert nicht abgerufen werden, denn es ist eine Reine html-code. Weil ich brauchen, um eine <h:inputText JSF-Komponente statt.

Die Frage ist also: Wie Kriege ich eine <h:inputText JSF-Komponente Wert durch die Verwendung von Expression Language?

  • Um zu beginnen, Ihre Frage war ziemlich verwirrend. Es so Aussehen, dass der Naht-Geschichte ist hier völlig irrelevant. In Zukunft poste bitte die JSF-code, den Sie wirklich haben und zu sagen, was genau Sie tun möchten, mit Ihrer - code.
  • Das macht auch keinen Sinn. In plain JSP/Servlet, die Sie benutzt haben könnte <input type="text" name="foo" value="${param.foo}"> für, die.
  • Ich empfehle dringend, um sich selbst durch eine anständige JSF-Buch/tutorial zu verstehen, wie JSF-Werke "unter den Hauben". Auch das lernen "plain-vanilla" JSP/Servlet, das würde helfen, eine Menge in Verständnis es. Du machst Annahmen und versuchen, Sie zu brechen, JSF Ideologie, indem alle seine arbeiten über in Ihren eigenen Händen. Sorry, wenn ich Klinge hart, aber das ist die Wahrheit.
  • Sie sagte: Du machst Annahmen und versuchen, Sie zu brechen, JSF Ideologie, indem alle seine arbeiten über in Ihren eigenen Händen. Sorry, aber ich bin nicht Annahme. Wenn die Naht unterstützt, bietet die parametrisierte Methode, bindende und ich können dieses feature verwenden, was ist falsch ?
  • Oh man sind mit Naht? Ich eine Antwort, die nicht die Naht Weg, aber dann waren Sie kommentieren, die Sie brauchen FacesContext.getApplication().SOMETHING? Dies ist nur Verwirrung in Hülle und fülle.
  • Wie Sie wissen BalusC, Es gibt eine implizite facesContext-Objekt: Das FacesContext-Instanz für den aktuellen request. Ok. Also ich denke, dass ich abrufen kann, eine Komponente festlegen, indem Sie das implizite Objekt. Sonst nichts.
  • Ja das kenne ich. Aber der ganze Ansatz ist in meinen Augen schlicht fehlerhaft, und Ihre Frage war nicht so formuliert sehr klar.
  • Obwohl ich Englisch Lesen sehr gut, ich habe einige Einschränkungen beim schreiben in englischer Sprache - ich bin ein nicht-Englisch-Muttersprachler. So fühlen sich frei zu Bearbeiten, meine eigenen Frage/Antwort-wenn notwendig - Sie haben mehr als 10k Ruf. Sorry Missverständnis.

Schreibe einen Kommentar