[JAVA] Was tun, wenn FacesMessage festgelegt, aber nicht angezeigt wird?

Ereignis: Die Nachricht wird nicht angezeigt, obwohl FacesMessage als Inhalt festgelegt ist.

Führen Sie die Methode mit Ajax aus


  <h:form id="formId">
    <div id="uploadArea">
<!--...Kürzung...-->
          <f:ajax event="change" execute="uploadArea" render="uploadArea" listener="#{uploadBean.uploadFile}" />
<!--...Kürzung...-->
      <div>
        <h:message for="uploadArea" errorClass="error" warnClass="warn" infoClass="info" />
      </div>
    </div>
  </h:form>

Ich habe eine Nachricht als Inhalt in einer Methode festgelegt, sie wird jedoch nicht angezeigt


    public void uploadFile(AjaxBehaviorEvent event) throws IOException {
        if (!isUpload()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "", "Es wurde keine Datei ausgewählt.");
            event.getFacesContext().addMessage("uploadArea", message);
//...Kürzung...

HTML ausgeben


<form id="formId" name="formId" method="post" action="/tryJsf/base.jsf" enctype="application/x-www-form-urlencoded">
  <input type="hidden" name="formId" value="formId">
  <div id="uploadArea">
<!--...Kürzung...-->
    <input id="formId:file" type="text" name="formId:file" style="display:none;" onchange="mojarra.ab(this,event,'change','uploadArea','uploadArea')">
    <div>
    </div>
  </div>
  <input type="hidden" name="javax.faces.ViewState" id="j_id1:javax.faces.ViewState:0" value="-7689768516583343150:2206148480801750608" autocomplete="off">
</form>

Ursache: Unbekannt (Bitte sagen Sie es mir.)

Anscheinend ist es nicht wieder aufgetaucht, nachdem die Methode f: ajax ausgeführt wurde. render =" uploadArea " ... wurde ignoriert? Ist das HTML-Tag nutzlos? Sollte es nicht ein JSF-Tag sein? Ist etwas, das nicht in JSF-Tags geschrieben ist, nicht eine Komponente?

The clientIds of components that will participate in the "render" portion of the Request Processing Lifecycle. ajax(JSF 2.2 View Declaration Language: Facelets Variant)

Problemumgehung: Ändern Sie das div-Tag in h: panelGroup

Führen Sie die Methode mit Ajax aus


  <h:form id="formId">
    <h:panelGroup id="uploadArea">
<!--...Kürzung...Da es sich um ein JSF-Tag handelt, machen Sie es zum angegebenen ID-Attribut..-->
          <f:ajax event="change" execute="formId:uploadArea" render="formId:uploadArea" listener="#{uploadBean.uploadFile}" />
<!--...Kürzung...-->
      <div>
        <h:message for="formId:uploadArea" errorClass="error" warnClass="warn" infoClass="info" />
      </div>
    </div>
  </h:form>

Wird angezeigt, wenn eine Nachricht als Inhalt in einer Methode festgelegt wird


    public void uploadFile(AjaxBehaviorEvent event) throws IOException {
//...Kürzung...Gleich wie vor der Korrespondenz...Ändern Sie nur das angegebene ID-Attribut...
            event.getFacesContext().addMessage("formId:uploadArea", message);
//...Kürzung...Gleich wie vor der Korrespondenz...

Recommended Posts

Was tun, wenn FacesMessage festgelegt, aber nicht angezeigt wird?
[Ubuntu 20.04] Was tun, wenn der externe Monitor nicht erkannt wird?
[Rails] Was tun, wenn keine Daten in der Datenbank registriert sind?
Was tun, wenn das Hintergrundbild nach der Bereitstellung nicht angewendet wird?
Was tun, wenn das Präfix c in JSP nicht gebunden ist?
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Was tun, wenn der Haltepunkt schattiert ist und beim Debuggen nicht stoppt?
Was tun, wenn Sie Ruby mit rbenv installiert haben, die Version sich jedoch nicht ändert?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Hinweise, was zu tun ist, wenn das Eclipse Maven-Abhängigkeitsglas nicht korrekt ist
[Logback] Was tun, wenn unnötige Dateien während der Rotation nicht verschwinden?
[Spring Boot] Was tun, wenn eine HttpMediaTypeNotAcceptableException auf einem Endpunkt auftritt, für den produziert wird?
[Java] Was tun, wenn aufgrund von FileNotFoundException viel "Datei wird zu oft geöffnet" angezeigt wird?
Was tun, wenn die App nicht mit der neuesten Rails-Version erstellt wurde, die bei neuen Rails installiert wurde?
Was tun, wenn javax.el.ELException: Kein gültiger Methodenausdruck: wird angezeigt, wenn der JSF-Bildschirm angezeigt wird
Was tun, wenn nach der Installation von npm "npm ERR! Code ENOSELF" angezeigt wird?
Was tun, wenn die Bereitstellung in Heroku fehlschlägt (Ruby-App nicht erkannt)?
Hinweise zur Vorgehensweise bei der Einrichtung von EC2 mit t2.micro
Was tun, wenn der Tomcat-Prozess bestehen bleibt, wenn Sie Tomcat in Eclipse stoppen?
Was tun, wenn der Server-Tomcat stirbt?
Was tun, wenn Sie falsche Informationen eingeben?
Was tun, wenn mvn archetype: generate fehlschlägt?
Was tun beim Debuggen von "Quelle nicht gefunden"?
Was tun, wenn die Änderungen nicht in der JAR-Manifestdatei berücksichtigt werden?
Was zu tun ist, wenn es ungültig ist, weil es nicht mit einem '-' beginnt
[Schienen] Was tun, wenn das Refile-Bild beim Schreiben der Verarbeitung zum Zeitpunkt des Routing-Fehlers nicht angezeigt wird?
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn JSF-Tags nicht zu HTML werden?
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Was tun, wenn der Rails-Server nicht gestoppt werden kann?
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
ParseException: Was tun, wenn ein nicht analysierbares Datum erreicht ist?
Was tun, wenn das Update nach der Bereitstellung von Rails AWS nicht wirksam wird?
Was ist zu tun, wenn in Eclipse "Fehler beim Laden der gemeinsam genutzten JNI-Bibliothek" angezeigt wird?
Was tun, wenn die bereits verwendete Adresse nach dem Ausführen der Schienen angezeigt wird?
Was tun, wenn die Annotation JSON Hint nicht mit Lombok und JSONIC funktioniert?
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was tun, wenn die Methode in f: ajax nicht gefunden wurde?
[Maven] Was tun, wenn Sie aufgefordert werden, ein Glas, das sich nicht im Remote-Repository befindet, in den Krieg aufzunehmen?
Ich möchte das Flash-Attribut im Frühjahr, auch wenn ich einen Reverse-Proxy festgelegt habe! (TU es nicht)
Einführung in Ratpack (1) - Was ist Ratpack?
Was tun, wenn der Befehl adb nicht ausgeführt werden kann?
Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?
[Rails] fields_for wird nicht angezeigt
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was ist mit dem Fehler "Kann nicht gelesen werden oder ist keine gültige ZIP-Datei?" Zu tun
Was tun, wenn der Git-Status besagt, dass Änderungen nicht für das Festschreiben bereitgestellt wurden: Nach dem Hinzufügen des Git.
Was tun, wenn in Docker ein gcc-Fehler auftritt?
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?