显示奇怪字符的Primefaces数据表(例如:“ <”显示为“&lt;”)

时间:2019-06-24 15:12:02

标签: primefaces

我有一个primefaces数据表,该表显示一些数据(字符串),某些字符通过其字符引用而不是我想要的实际字符显示。一些示例是“ <”,“>”,“&”,分别显示为“&lt”,“>”,“&”。这些字符串可以毫无问题地显示在我的应用程序的其他位置,但是它们不在数据表中。

我尝试使用会返回以下内容的转换器:

return URLEncoder.encode(value.toString(), "UTF-8");

但是这只是显示了同一件事

我的数据表的素数代码的简短版本如下:

<p:dataTable var="exportDeclarationResult"
                    value="#{advancedSearchBean.result}"
                    lazy="true"
                    rows="25"
                    paginator="true"
                    paginatorPosition="bottom" 
                    paginatorAlwaysVisible="true"
                    pageLinks="#{uiStandardBean.paginatorNumberOfPageLinks}"
                    paginatorTemplate="#{uiStandardBean.paginatorTemplate}"
                    currentPageReportTemplate="#{uiStandardBean.paginatorCurrentPageReportTemplate}"
                    emptyMessage="#{msg['15002']}">

                    <p:column  width="15%" headerText="#{msg['adSearch.exporter']}">
                        <h:outputText value="#{exportDeclarationResult.exporterName}" converter="#{SpecialCharConverter}"/>
                    </p:column> 
                </p:dataTable>

我怀疑这与使用数据表有关,但我不确定。如果有人对为什么会这样有一个想法,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

您看到的特殊字符问题需要在打印前先进行转义。如果未转义的数据是用户输入,请非常,因为浏览器可以将字符解释为html或js而不是数据来解释字符。

Datatable Jquery special character encoding and decoding to HTML-这个问题是相关的,应该包含您的需求