0

我想要的是如下内容:


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

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

除了使用自定义标签之外,有没有办法解决这个问题?

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


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

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

4

1 回答 1

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

或者h:outputText escape="false"如果 HTML 来自 bean 属性,则使用

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

根据您的功能要求,如下所示

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

The problem needs to be solved elsewhere. Are you using JSF 1.x or 2.x? Regardless, you should utilize JSF-provided Ajax components like RichFaces' Ajax4jsf components or JSF 2.0's <f:ajax> components which offers a render attribute to trigger re-rendering of JSF components.

于 2011-01-21T16:31:28.397 回答