JMESA 将 HTML 呈现为文本



我直接在Java中使用jmesa,使用tableModel.render()直接获取HTML。我的结果列表中的一些 Web 对象包含 HTML - 示例:

class blah {
    String email;
    public String getEmailLink() {
      return "<a href='" + email + "</a>"
    }
}

在我的Java代码中,我只会这样做:

htmlRow.addColumn(new HtmlColumn("emailLink"));

JMESA将其呈现为文本。如何告诉 jmesa 将文本按原样呈现为文档中的 html?

蒂亚

查看 JMesa soure 代码,HtmlCellEditor会自动转义 HTML。

我还没有测试过它,但您应该能够用不同类型的方式覆盖默认HtmlCellEditor......比如裸露的BasicCellEditor. 它不应该是太多额外的代码:

HtmlColumn emailLinkColumn = new HtmlColumn("emailLink");
emailLinkColumn.setCellEditor(new BasicCellEditor());
htmlRow.addColumn(emailLinkColumn);

所有这些的另一种选择是创建自定义 CellEditor 并让它为您创建<a>标签,而不是在您的 Bean 中执行此操作。 如果您想走这条路,此页面应该可以让您开始使用自定义单元格编辑器。

顺便说一句,如果您只弄乱单元格内的值,则覆盖/替换CellEditor可能是您所需要的(CellEditor它类似于<td>的主体)。 CellRenderer关注整个单元格(类似于<td>及其内容)。

使用 HtmlCellRenderer,如本教程所示。

相关内容

  • 没有找到相关文章

最新更新