我有一个网页,可以动态查询数据库以在页面上显示数据,类似于 Toad 等数据库工具(当然还不是很接近:),仅用于说明的示例)。
问题是数据在页面上显示时被修剪。这就是我使用 JSF 显示数据的方式
<h:outputText value="#{record[columnIndex].toDisplayString()}" />
我相信这是关于 html 渲染的。我应该怎么办?写一个html编码器?如何?我们将非常感谢您的帮助。
请您参考如下方法:
<h:outputText>
根本不削减该值。
也许您正在谈论值中的空白,例如前导/尾随空格、制表符、换行符、回车符等,默认情况下这些空白在 HTML 标记中完全没有意义。它只是成为 HTML 源代码的一部分,而不是 HTML 演示文稿。例如,换行符在 HTML 中由 <br>
表示。元素,而不是 \n
性格。
如果您想保留 HTML 元素节点中的空格,就像在 HTML 源代码中一样,那么您需要设置父 HTML 元素的 CSS white-space
属性至pre
为了保存它。如果您想在 block 元素中换行,请使用 pre-wrap
.
例如
<h:outputText ... styleClass="preformatted" />
与
.preformatted {
white-space: pre-wrap;
}
另一种方法是自行将文本转换为有效的 HTML 标记。例如。替换所有出现的 \n
字符由<br/>
字符串。您可以为此使用 EL 函数。