Есть ли тег как дословно, кроме того, что вы можете установить его на грязный? - PullRequest
0 голосов
/ 21 января 2011

Я хотел бы что-то вроде следующего:


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

Я бы хотел, чтобы код out.println был перезапущен ajax.Однако, когда я устанавливаю эту форму как грязную, out.println не запускается повторно.

Есть ли способ обойти это, если не использовать пользовательский тег?

Мне нужен тегНапример,


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

Есть ли уже такой тег в myfaces или базовом JSF?

1 Ответ

1 голос
/ 21 января 2011

Просто поместите его в f:verbatim без этого скриптлета

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

Или просто напечатайте его простым (возможно только в JSF 1.2 или новее)

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

Или используйте h:outputText, поскольку он все равно отображает <span>

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

Или используйте h:outputText escape="false", если HTML получен из свойства bean

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

СогласноВаше функциональное требование, которое читается как

Я хотел бы, чтобы код out.println был перезапущен ajax

Проблема должна быть решена в другом месте,Вы используете JSF 1.x или 2.x?В любом случае, вы должны использовать предоставляемые JSF компоненты Ajax, такие как компоненты Ajax4jsf RichFaces или компоненты <f:ajax> JSF 2.0, которые предлагают атрибут render для запуска повторного рендеринга компонентов JSF.

...