[JAVA] <f: ajax> Impossible d'attacher <f: ajax> à un non-ClientBehaviorHolder Que faire lorsque vous devenez parent

--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: état HTTPS 500 lors de la tentative d'affichage de la page après l'ajout du traitement ajax

Erreur de la console Eclipse


javax.faces.view.facelets.TagException: /base.xhtml @18,103 <f:ajax> Unable to attach <f:ajax> to non-ClientBehaviorHolder parent
    at com.sun.faces.facelets.tag.jsf.core.AjaxHandler.applyNested(AjaxHandler.java:276)
    at com.sun.faces.facelets.tag.jsf.core.AjaxHandler.apply(AjaxHandler.java:148)
    at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:179)
...réduction...

base.xhtml


...réduction...
<h:inputHidden id="file">
  <f:ajax event="change" execute="@form" render="@form" listener="#{uploadBean.uploadFile}" />
</h:inputHidden>
...réduction...

Cause: f: ajax ne peut être utilisé que dans une balise qui implémente l'interface ClientBehaviorHolder.

Register an AjaxBehavior instance on one or more UIComponents implementing the ClientBehaviorHolder interface. ajax(JSF 2.2 View Declaration Language: Facelets Variant)

Enregistrez une instance AjaxBehavior avec un ou plusieurs UIComponents qui implémentent l'interface ClientBehaviorHolder. Dans ce cas, la question est de savoir si h: inputHidden implémente l'interface ClientBehaviorHolder, mais quand j'ai regardé le JavaDoc pour ClientBehaviorHolder, il était hors de portée ...

All Known Implementing Classes: HtmlBody, HtmlCommandButton, HtmlCommandLink, HtmlDataTable, HtmlForm, HtmlGraphicImage, HtmlInputFile, HtmlInputSecret, HtmlInputText, HtmlInputTextarea, HtmlOutcomeTargetButton, HtmlOutcomeTargetLink, HtmlOutputLabel, HtmlOutputLink, HtmlPanelGrid, HtmlPanelGroup, HtmlSelectBooleanCheckbox, HtmlSelectManyCheckbox, HtmlSelectManyListbox, HtmlSelectManyMenu, HtmlSelectOneListbox, HtmlSelectOneMenu, HtmlSelectOneRadio ClientBehaviorHolder (JavaServer Faces API (2.2))

Action: remplacez la balise par h: inputText

...réduction...
<h:inputText id="file" style="display:none;">
  <f:ajax event="change" execute="@form" render="@form" listener="#{uploadBean.uploadFile}" />
</h:inputText>
...réduction...

Recommended Posts

<f: ajax> Impossible d'attacher <f: ajax> à un non-ClientBehaviorHolder Que faire lorsque vous devenez parent
Que faire en cas de problème pendant Content Assist
Que faire lorsque la méthode n'est pas trouvée dans f: ajax
Que faire lorsqu'une exception javax.el.PropertyNotWritableException se produit
Que faire lorsque vous rencontrez le problème node_modules avec docker-compose
Qu'utilisez-vous lors de la conversion en String?
Que faire lorsque les balises JSF ne deviennent pas HTML
Que faire si vous créez accidentellement un modèle
Que faire si vous obtenez une erreur NoClassDefFoundError lorsque vous essayez d'exécuter eclipse sur Java 9
Que faire quand il devient impossible de trouver CDI BeanManager.
Que faire lorsqu'une exception java.io.IOException se produit dans GlassFish
[Tutoriel Rails Chapitre 2] Que faire lorsque vous faites une erreur dans le nom de la colonne
Que faire lorsqu'une exception javax.batch.operations.JobStartException se produit
Que faire si une exception UnsupportedCharsetException se produit dans un JRE léger
Que faire si vous obtenez une erreur gcc dans Docker
Que faire si vous obtenez une erreur de bibliothèque partagée JNI lorsque vous essayez de créer avec Eclipse
Que faire si vous obtenez un avertissement groovy dans Thymeleaf Layout
Que faire si l'opération non autorisée s'affiche lors de l'exécution d'une commande dans le terminal
Que faire lorsque la méthode non définie ʻuser_signed_in? '
Que faire lorsque "call'Hoge.connection 'pour établir une connexion" apparaît sur les rails c
Que faire si vous recevez une alerte de vulnérabilité MiniMagick sur GitHub
Remarques sur la marche à suivre lorsqu'une exception WebView ClassNotFoundException se produit dans JavaFX 12
Que faire si le message "Un serveur est déjà en cours d'exécution" s'affiche. Erreur lors de la tentative de démarrage du serveur rails
Que faire lorsque vous pensez que vous ne pouvez pas Groovy-> Java avec IntelliJ IDEA CE
Que faire quand est invalide car il ne commence pas par un "-"
[Ubuntu] Que faire lorsque MongoDB ne peut pas être démarré en raison d'une erreur SocketException
Que faire si vous transmettez des informations incorrectes
Que faire lors du débogage "Source non trouvée"
Que faire si IllegalStateException se produit dans PlayFramework
Que faire si vous obtenez une erreur indiquant "Veuillez saisir une valeur valide" lors de l'obtention avec Rails datetime_field
Que faire si le message d'erreur "Impossible de trouver un moteur d'exécution JavaScript" s'affiche lors du démarrage du serveur rails
Que faire si vous obtenez une erreur de nombre d'arguments erroné dans binding.pry
Que faire lorsque le certificat SSL a expiré
Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat
Erreur ExecJS :: RuntimeUnavailable: que faire quand cela se produit
ParseException: que faire lorsqu'une date impossible à analyser est atteinte
Remarques à vérifier lorsque vous essayez d'utiliser Lombok
<Installation par points> Que faire si vous ne pouvez pas continuer en raison d'une erreur lors de la création d'un environnement de développement pour l'apprentissage Rails.
Que faire lorsque vous ne pouvez pas formater l'objet donné en tant que date dans JSF convertDateTime
[Ruby / Rails] Que faire lorsque NoMethodError apparaît lors de l'utilisation d'une méthode destructive comme le filtre!
Que faire si une erreur d'analyseur SAX se produit lors de l'utilisation de Liferay 7 / DXP sur AWS
Que faire si vous obtenez une erreur «302» dans le code de test du contrôleur dans Rails
[Rails] Que faire lorsque la vue se réduit lorsqu'un message est affiché avec la méthode des erreurs
[Rails 6] Que faire lorsqu'une erreur de modèle manquante se produit après l'introduction du haml [Super facile]
[IOS] Ce que vous devez savoir avant de créer un widget
Que faire lorsque vous ne pouvez pas appliquer d'opérateurs d'expression à la liaison de méthode
Que faire si mysql2 obtient une erreur d'installation de bundle
Que faire si la commande rails devient inutilisable