【问题标题】:Render HTML with CSS in Java在 Java 中使用 CSS 渲染 HTML
【发布时间】:2011-04-25 11:27:07
【问题描述】:

我正在尝试在我的 HTML 中包含链接样式表的 Java 应用程序中显示 HTML。

我正在使用来自 Java 的 XSLT 将我的 XML 转换为 HTML。我想包含一个样式表,以便我可以轻松地设置 html 输出的样式。但是样式表被忽略,html正常输出。

为此,我使用了 JEditorPane 和 HTMLEditorKit。我在Dev Daily 上找到了一些示例代码来执行此操作。

我的样式表位于本地硬盘上,我想知道是否有人知道我可以如何使用它?

我有以下代码:

JEditorPane jEditorPane = new JEditorPane();
jEditorPane.setEditable( false );

HTMLEditorKit kit = new HTMLEditorKit();
jEditorPane.setEditorKit(kit);

try {    
    kit.getStyleSheet().importStyleSheet( new URL( "file://D:\\mycssfile.css" ) );
} catch( MalformedURLException ex ) {
}

Document doc = kit.createDefaultDocument();
jEditorPane.setDocument(doc);
jEditorPane.setText(html);

在我的 xsl html 输出中,css 使用以下内容链接 - 我得到相同的结果,包括或排除它:

<link rel="stylesheet" type="text/css" href="mycss.css" />

有什么想法吗?

干杯,

安德斯

【问题讨论】:

  • 我认为 HTMLEditorKit 对 CSS 的支持相当差,这可能是问题

标签: java html css


【解决方案1】:

您的网址无效,因此找不到您的 CSS 文件。将其更改为:

kit.getStyleSheet().importStyleSheet(new URL("file:///D:/mycssfile.css"));

或者更好的是,不要使用 URL,而是将 css 文件添加到类路径中,然后将其作为资源加载,如下所示:

kit.getStyleSheet().importStyleSheet(MyClassName.class.getResource("mycssfile.css"));

【讨论】:

  • 我选择了 kit.getStyleSheet().importStyleSheet(new URL("file:///D:/mycssfile.css"));选项。我们的配置相对存储在 java 应用程序路径下,所以只需要弄清楚那部分。
猜你喜欢
  • 2010-09-30
  • 2021-05-13
  • 1970-01-01
  • 2017-04-20
  • 2015-02-20
  • 1970-01-01
  • 2011-06-22
  • 2010-12-07
  • 2021-09-25
相关资源
最近更新 更多