有没有像逐字的标签,除了你可以设置为脏?

时间:2011-01-21 16:23:11

标签: ajax jsp jsf custom-tags

我想要的是以下内容:


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

我希望out.println代码由ajax重新运行。但是,当我将该表单设置为脏时,out.println不会重新运行。

除了使用自定义标签之外,有没有解决方法呢?

我需要的是一个标签,比如


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

myfaces或基本的JSF中是否已有类似的标签?

1 个答案:

答案 0 :(得分:1)

只需将其放入f:verbatim,而不使用 scriptlet

<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" />

如果HTML来自bean属性

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

根据您的功能要求,如

  

我希望out.println代码由ajax重新运行

这个问题需要在其他地方解决。您使用的是JSF 1.x还是2.x?无论如何,您应该使用JSF提供的Ajax组件,如RichFaces的Ajax4jsf组件或JSF 2.0的<f:ajax>组件,它们提供render属性来触发重新呈现JSF组件。