如何在p:列中显示原始HTML标记?

时间:2015-09-18 22:02:34

标签: jsf primefaces

我在数据库中有一个用户注释字段,它可以包含新行。我的实体对象中有一个getter,用>>> import json >>> class FirstTenDict(dict): ... def __init__(self, pairs): ... super(FirstTenDict, self).__init__(pairs[:10]) ... >>> json_data = '''\ ... {"foo42": "bar", "foo31": "baz", "foo10": "spam", "foo44": "ham", "foo1": "eggs", ... "foo24": "vikings", "foo21": "monty", "foo88": "python", "foo11": "eric", "foo65": "idle", ... "foo13": "will", "foo31": "be", "foo76": "ignored"} ... ''' >>> json.loads(json_data) {'foo1': 'eggs', 'foo88': 'python', 'foo44': 'ham', 'foo10': 'spam', 'foo76': 'ignored', 'foo42': 'bar', 'foo24': 'vikings', 'foo11': 'eric', 'foo31': 'be', 'foo13': 'will', 'foo21': 'monty', 'foo65': 'idle'} >>> json.loads(json_data, object_pairs_hook=FirstTenDict) {'foo1': 'eggs', 'foo88': 'python', 'foo44': 'ham', 'foo10': 'spam', 'foo24': 'vikings', 'foo11': 'eric', 'foo21': 'monty', 'foo42': 'bar', 'foo31': 'baz', 'foo65': 'idle'} >>> import pprint >>> pprint.pprint(_) {'foo1': 'eggs', 'foo10': 'spam', 'foo11': 'eric', 'foo21': 'monty', 'foo24': 'vikings', 'foo31': 'baz', 'foo42': 'bar', 'foo44': 'ham', 'foo65': 'idle', 'foo88': 'python'} 替换来自DB的所有\n个字符。它进入<br/>。但是当我使用p:dataTable显示值时,它会更改HTML标记,以便显示它们,而不是用作格式化数据显示的指令:

p:column

因此,如果实体对象中的userNote值为:

<p:column width="500" style="word-wrap: break-word">
    <f:facet name="header">User Note</f:facet>
    #{entity.userNoteDisplay}
</p:column>

然后This is user note 返回getUserNoteDisplay

但是,HTML表格单元格会显示This is<br/>user note,显示This is<br/>user note

我怎样才能使它解释而不是字面上显示HTML标签?

相关:How can i show text with html tag in primefaces

1 个答案:

答案 0 :(得分:0)

JSF逃避工作:

<p:column width="500" style="word-wrap: break-word">
    <f:facet name="header">User Note</f:facet>
    <h:outputText value ="#{entity.userNoteDisplay}" escape="false"/>
</p:column>