专门显示不可打印的字符

时间:2017-01-20 12:47:32

标签: html jsf

我正在使用primefaces,我想向用户显示不可打印的字符(\ n,\ t,\ r \ n - 应该按原样显示,不显示)。

我使用<h:outputText>命令。我从文件中读取内容。

例如,该文件包含以下内容:

test new line a new line

在java中,这些窗口呈现为:test\n new line\n a new line。 输出应该相同:Hello\n newline\n a new line

我该怎么做?这些值根本不打印: &#34;你好新线新线&#34;。

找到解决方案: 要正确渲染(例如,应显示),我添加了一个新的反斜杠:\ n变为\\ n。

谢谢你, 路易莎

2 个答案:

答案 0 :(得分:-2)

您需要将escape属性设置为false,因为默认情况下为true。 正如MkYong所解释的那样。

https://www.mkyong.com/jsf2/jsf-2-outputtext-example/

答案 1 :(得分:-2)

您可以在Apache Commons项目中使用以下方法,在您的支持bean中使用所需的字符串(它会转义所有类似Java的特殊字符):

https://commons.apache.org/proper/commons-lang/javadocs/api-3.5/org/apache/commons/lang3/StringEscapeUtils.html#escapeJava-java.lang.String-

示例:

private String escapeString = StringEscapeUtils.escapeJava("Hello \\n this is new line");

public String getEscapeString() {
    return escapeString;
}

<h:outputText value="#{testViewBean.escapeString}"/>

打印

Hello \\n this is new line