我有一个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>
我怀疑这与使用数据表有关,但我不确定。如果有人对为什么会这样有一个想法,我将不胜感激。谢谢。
答案 0 :(得分:0)
您看到的特殊字符问题需要在打印前先进行转义。如果未转义的数据是用户输入,请非常,因为浏览器可以将字符解释为html或js而不是数据来解释字符。
Datatable Jquery special character encoding and decoding to HTML-这个问题是相关的,应该包含您的需求