我在数据库中有一个用户注释字段,它可以包含新行。我的实体对象中有一个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标签?
答案 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>