[JAVA] jsf.ajax.request: la méthode doit être appelée dans un formulaire

--Environnement - CentOS Linux release 7.8.2003 (Core) - Eclipse IDE for Enterprise Java Developers.Version: 2020-03 (4.15.0) - openjdk version "11.0.7" 2020-04-14 LTS - JSF 2.3.9

Événement: je me suis mis en colère lorsque j'ai exécuté le processus en utilisant f: ajax

Lorsque je pensais que quelque chose ne fonctionnait pas, il y avait une erreur dans la console de l'outil de développement Chrome.

Erreur dans l'outil de développement de la console de Chrome


jsf.js.jsf?ln=javax.faces:1 Uncaught Error: jsf.ajax.request: Method must be called within a form
    at Object.request (jsf.js.jsf?ln=javax.faces:1)
    at Object.ab (jsf.js.jsf?ln=javax.faces:1)
    at HTMLInputElement.onclick (upload.jsf:12)

Cause: car il n'y a pas de balise de formulaire

J'ai oublié par inadvertance la balise form.

xhtml


<body>
<!--réduction-->
    <h:commandButton value="Fermer" action="#{uploadBean.close}">
      <f:ajax onevent="windowClose" />
    </h:commandButton>
  </div>
</body>

HTML de sortie


<input id="j_idt11:j_idt14" type="submit" name="j_idt11:j_idt14" value="Fermer" onclick="mojarra.ab(this,event,'action',0,0,{'onevent':windowClose});return false">

Action: placez f: ajax dans la balise form

xhtml


<body>
  <h:form>
<!--réduction-->
      <h:commandButton value="Fermer" action="#{uploadBean.close}">
        <f:ajax onevent="windowClose" />
      </h:commandButton>
    </div>
  </h:form>
</body>

Recommended Posts

jsf.ajax.request: la méthode doit être appelée dans un formulaire
jsf.ajax.request: la méthode doit être appelée dans un formulaire
[Java] Les méthodes protégées ne peuvent pas toujours être appelées depuis une sous-classe