【发布时间】:2013-10-16 21:15:38
【问题描述】:
是否可以在 h:outputtext 周围有一个 pre 标记,如下所示?
<pre class="prettyprint lang-java">
<h:outputText value="#{maintainBusinessProcessBean.featureCodeAssistContent}">
</h:outputText>
</pre>
我需要在我的 html 页面中显示 java 方法的内容。我尝试直接在我的 pre 标记中提供一些示例 java 方法,如下所示,它工作正常。
<pre class="prettyprint lang-java">
public int getResult(int a, int b){
return a+b;
}
</pre>
而如果我将与字符串相同的方法提供给 h:outputtext 并用 pre 标记将其包围,则不会发生格式或语法突出显示。 java方法内容只是显示为文本。
【问题讨论】:
-
只是一个疯狂的猜测:
escape="false"对<h:outputText>有帮助吗? -
尝试使用 escape="false",但没有任何变化。仍然显示为纯文本
-
对我来说它就像在你的第一个代码块中一样工作。您是否比较了两种方法的 html 输出?你像我一样使用js脚本吗?请提供更多代码(支持 bean、facelets)
-
您不能在 JSF 的视图页面中添加代码,这是从旧的 scriptlet 时代中获取的。要显示结果,只需将方法放在服务器端并从
outputText调用它。 -
Lester,现在 escape="false" 有效。首先,我在主页上尝试过。然后我尝试在弹出窗口(对话框)中显示方法内容。在对话框中,语法突出显示、新行和制表符空间工作正常。谢谢你的建议.. :)