我想要的是以下内容:
<f:verbatim>
<%
out.println("<span id='test'>Data</span>");
%>
</f:verbatim>
我希望out.println代码由ajax重新运行。但是,当我将该表单设置为脏时,out.println不会重新运行。
除了使用自定义标签之外,有没有解决方法呢?
我需要的是一个标签,比如
<f:writeAsHTML value="#{bean.HTMLproducer}"/>
myfaces或基本的JSF中是否已有类似的标签?
答案 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组件。