Question

Ce que je voudrais quelque chose comme suit:


<f:verbatim>
<%
out.println("<span id='test'>Data</span>");
%>
</f:verbatim>

Je voudrais le code out.println à exécuter à nouveau par ajax. Cependant, quand je mets ce formulaire à sale, le out.println n'est pas recourue.

Y at-il un moyen de contourner cela, à court d'utiliser une balise personnalisée?

Ce que je dois est une balise, comme


<f:writeAsHTML value="#{bean.HTMLproducer}"/>

Y at-il déjà une étiquette comme ça dans myfaces ou JSF de base?

Était-ce utile?

La solution

Il suffit de mettre en f:verbatim sans que scriptlet

<f:verbatim>
    <span id="test">Data</span>
</f:verbatim>

Ou tout simplement l'imprimer en clair (seulement possible sur JSF 1.2 ou plus récent)

<span id="test">Data</span>

Ou utilisez h:outputText car il rend une <span> de toute façon

<h:outputText id="test" value="Data" />

Ou utilisez h:outputText escape="false" si le HTML provient d'une propriété de haricot

<h:outputText value="#{bean.html}" escape="false" />

Selon votre exigence fonctionnelle qui se lit comme

  

Je voudrais le code out.println à ajax par recourue

Le problème doit être résolu ailleurs. Utilisez-vous 1.x ou 2.x JSF? Peu importe, vous devez utiliser les composants JSF fournis par les composants Ajax comme RichFaces de Ajax4jsf ou les composants <f:ajax> JSF 2.0 qui offre un attribut render pour déclencher re-rendu des composants JSF.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top